【发布时间】:2023-03-30 13:56:01
【问题描述】:
我有以下特征向量,每个样本都有一个特征,总共有 32 个样本:
X = [[0.1], [0.12], [0.3] ... [0.10]]
和一个由二进制值组成的标签向量
Y = [0, 1, 0 , 0, .... 1](也有 32 个样本)
我正在尝试使用 Keras LSTM 根据新条目预测序列的下一个值。 我想不通的是“batch_input_shape”元组的含义,例如:
model.add(LSTM(neurons, batch_input_shape=(?, ?, ?), return_sequences=False, stateful=True))
根据this的文章,第一个是batch size,那么另外两个呢?它们是每个样本的特征数量和样本数量吗? 在这种情况下,batch_size 的值应该是多少?
目前收到错误信息:
ValueError: Error when checking input: expected lstm_1_input to have 3 dimensions, but got array with shape (32, 1)
编辑:这是模型声明:
def create_lstm(batch_size, n_samples, neurons, dropout):
model = Sequential()
model.add(LSTM(neurons, batch_size=batch_size, input_shape=(n_samples, 1), return_sequences=False, stateful=True))
model.add(Dropout(dropout))
model.add(Dense(1, activation='sigmoid'))
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['accuracy'])
return model
【问题讨论】:
-
你能展示你正在定义的整个序列模型吗?
-
@DarkCygnus 我要编辑帖子