【发布时间】:2017-11-13 16:06:15
【问题描述】:
我已经阅读了很多关于这一点的帖子。它们彼此不一致,每个答案似乎都有不同的解释,所以我想根据我对所有这些的分析来问。
正如 Keras RNN 文档所述,输入形状 始终采用这种形式 (batch_size, timesteps, input_dim)。我对此有点困惑,但我想,虽然不确定,input_dim 始终为 1 而timesteps 取决于您的问题(也可能是数据维度)。这大致正确吗?
这个问题的原因是我在尝试将input_dim 的值更改为我的数据集维度时总是出错(因为 input_dim 听起来像那样!!),所以我假设input_dim 代表一次输入 LSTM 的输入向量的形状。我又错了吗?
C = C.reshape((C.shape[0], C.shape[1], 1))
tr_C, ts_C, tr_r, ts_r = train_test_split(C, r, train_size=.8)
batch_size = 1000
print('Build model...')
model = Sequential()
model.add(LSTM(8, batch_input_shape=(batch_size, C.shape[1], 1), stateful=True, activation='relu'))
model.add(Dense(1, activation='relu'))
print('Training...')
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(tr_C, tr_r,
batch_size=batch_size, epochs=1,
shuffle=True, validation_data=(ts_C, ts_r))
谢谢!
【问题讨论】:
-
我认为您的问题不清楚,如果您有源代码和实际错误消息,您应该将它们包含在您的问题中。仅仅说你有错误是不够的。
-
按照 Matias 的建议,请向我们展示您拥有的引发此类错误的相关代码,以便我们更好地帮助您而不是询问。
-
@MatiasValdenegro 谢谢。帖子已更新
-
@Kris 你能添加你得到的错误吗?