我有一个输入数据,其中每个例子都是长度为k的一些不同数量的向量。我总共有n个例子。所以输入的维数是n *? * k。问号象征着不同的长度。
如果可能,我想将其输入到Keras的LSTM图层,不使用嵌入(它不是普通的单词数据集)。
有人可以写一个如何做到这一点的简短例子吗?
数据当前是双嵌套python数组,例如
example1 = [[1,0,1], [1,1,1]]
example2 = [[1,1,1]]
my_data = []
my_data.append(example1)
my_data.append(example2)
答案 0 :(得分:0)
我认为你可以使用pad_sequences。这应该使您的所有输入都达到相同的长度。
答案 1 :(得分:0)
您可以使用填充(pad_sequences)和Masking
图层。
您还可以在手动训练循环中训练不同长度的批次:
for e in range(epochs):
for batch_x, batch_y in list_of_batches: #providade you separated the batches by length
model.train_on_batch(batch_x, batch_y)
所有这一切的关键是您的input_shape=(None, k)