我在keras中有一个多类(4级)分类模型,看起来像1
在训练时,模型期望输入形状为(None,None,300)。也就是说,如果存在'n'个不同的输入序列,则输入形状应为(n,None,300)。在我的例子中,每个输入序列的大小是不同的。 比如,输入序列具有形状(1000,300),(1500,300),(1200,300)和(2000,300)。现在我需要将它们放在一起(4,无,300)。我尝试使用numpy数组,但是numpy数组不会给出(4,None,300)的形状,而是(4L,)。
现在我想知道如何训练我的模特?是否可以使用numpy数组或任何不同的数据结构?
答案 0 :(得分: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]