【发布时间】:2020-06-06 20:26:16
【问题描述】:
我正在处理一些包含某些连续天数的数据,每个数据的数组形状如下:
(number of days, 1, number of features)
每个数据中的特征数量不同。
我想将这些数据中的每一个分别提供给我的 lstm 模型。所以我想以一种动态输入形状的方式来实现我的模型。
我用过这段代码:
model = Sequential()
model.add(LSTM(4, return_sequences=True, input_shape=(1, None)))
model.add(LSTM(256, dropout=0.2,recurrent_dropout=0.2, return_sequences=True))
model.add(LSTM(256, dropout=0.2,recurrent_dropout=0.2, return_sequences=True))
model.add(LSTM(128, dropout=0.2,recurrent_dropout=0.2, return_sequences=True))
model.add(LSTM(128))
model.add(Dense(1, activation='sigmoid'))
model.compile (
loss='mean_squared_error',
optimizer=keras.optimizers.Adam(0.001)
)
第一层中的None 表示特征数量。但是当我开始在(X_train 和 y_train)上拟合模型时,我得到了这个层的错误:
TypeError: unsupported operand type(s) for +: 'NoneType' and 'int'
我使用的是 tensorflow 版本 '2.3.0-tf'
你能帮我解决这个错误吗?
【问题讨论】:
标签: python tensorflow keras deep-learning lstm