【发布时间】:2020-07-16 08:01:06
【问题描述】:
我正在尝试训练一个基本的 LSTM 网络,但我遇到了 model.fit 错误。我有两个数据集,每个数据集都有 3145 个长度为 7 的序列。我想将这两个数据集打包到同一个时间步中。因此,我将 x_train 和 y_train 重新塑造成以下形状:
x_train.shape = (3145, 70, 2)
y_train.shape = (3145, 70)
如您所见,我应该有 3145 个样本,每个样本有 70 个时间步长,每个样本有 2 个特征和一个目标。然后我定义以下模型:
model = Sequential()
model.add(LSTM(4, input_shape=(x_train.shape[1], x_train.shape[2])))
model.add(Dense(1))
model.compile(loss='mean_squared_error', optimizer='adam')
为了训练,我跑线
model.fit(x_train, y_train, epochs=100, batch_size=1, verbose=2)
但这给了我错误
ValueError: Error when checking target: expected dense_23 to have shape (1,) but got array with shape (70,)
我很困惑为什么会发生这个错误。有 70 个时间步,我应该有 70 个目标,对吗?
对于解释此错误的任何帮助,我将不胜感激!
【问题讨论】:
标签: python tensorflow keras lstm