问题描述
我正在尝试使用Keras LSTM层训练一个简单的网络。
我知道LSTM可以使用可变的序列长度,而且我知道如果一批中的所有序列都具有相同的长度,它将起作用。
是否可以将网络适应于在范围内的可变序列长度的批次?
我的批次是通过以下方式创建的:
sequences = []
for i in range(128):
created_sequence = ... #create 2d array (list of lists) with shape (x,5)
# x changes every iteration
sequences.append(np.array(created_sequence)
return np.array(sequences,dtype=object) #Now the shape of the array is (128,)
据我了解,numpy无法指定第二维或第三维的形状。
图层:
model.add(LSTM(53,dropout=0.1,recurrent_dropout=0.1,input_shape=(None,5),return_sequences=False))
这样的拟合被称为:
model.fit(batch_x,batch_y,epochs=10,validation_data=(test_batch_x,test_batch_y),verbose=2)
我得到的错误:
ValueError: Error when checking input: expected lstm_1_input to have 3 dimensions,but got array with shape (128,1)
任何不包含填充的解决方案都将受到欢迎!
谢谢
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)