首页 文章

在keras中为LSTM模型提供不同大小的输入

提问于
浏览
1

我在keras中有一个多类(4级)分类模型,看起来像1

在训练时,模型期望输入形状为(None,None,300) . 也就是说,如果存在'n'个不同的输入序列,则输入形状应为(n,None,300) . 在我的例子中,每个输入序列的大小是不同的 . 比如,输入序列具有形状(1000,300),(1500,300),(1200,300)和(2000,300) . 现在我需要把它们放在一起(4,None,300) . 我尝试使用numpy数组,但是numpy数组不会给出(4,None,300)的形状,而是(4L,) .

现在我想知道如何训练我的模型?是否可以使用numpy数组或任何不同的数据结构?

1 回答

  • 0

    由于您的序列持续时间不同,您可以考虑用零填充它们(相应地调整损耗/标签)然后

    max_duration = 2000
    in_ = np.zeros((4, max_duration, 300), dtype='f4')
    for i in xrange(4):
        # fit sequence
        in_[i,:len(seq[i]),:] = seq[i]
    

相关问题