我有X_train和Y_train的[2160,24,3]尺寸。但是当我尝试这样一个简单的LSTM时:
model = Sequential()
model.add(LSTM(24 , return_sequences = True))
model.add(Dropout(dp)) 它给了我以下错误信息:
ValueError:在检查目标时出错:期望dropout_192具有形状(24,24),但得到与形状(24,3)相同的数组
当我试图像这样修改我的代码时:
model = Sequential()
model.add(LSTM(24 , return_sequences = False))
model.add(Dropout(dp))
model.add(RepeatVector(24))我得到:
ValueError:在检查目标时出错:期望repeat_vector_55具有形状(24,24),但得到与形状(24,3)相同的数组
另外:
model = Sequential()
model.add(LSTM(24 , return_sequences = False))
model.add(Dropout(dp))
model.add(RepeatVector(24))
model.add(TimeDistributed(Dense(1))) 或者:
model = Sequential()
model.add(LSTM(24 , return_sequences = False))
model.add(Dropout(dp))
model.add(RepeatVector(24))
model.add(LSTM(24 , return_sequences = True))
model.add(Dropout(dp))
model.add(TimeDistributed(Dense(1))) 给我:
ValueError:检查目标时出错:期望time_distributed_56具有形状(24,1),但得到与形状(24,3)相同的数组
我很困惑,不知道怎么解决它?我想要的是用X_train和Y_train (尺寸为[2160,24,3] )来训练LSTM模型。我怎么能这么做?
发布于 2019-07-06 10:52:32
在所有上述情况下,您都没有正确地设置输出形状。最后一层应该创建3个功能。例如,试试这个:
model = Sequential()
model.add(LSTM(24, return_sequences = True))
model.add(Dropout(dp))
model.add(Dense(3))https://datascience.stackexchange.com/questions/55168
复制相似问题