LSTM-准备培训数据

时间:2020-09-06 15:40:28

标签: python tensorflow keras lstm

我在Python中使用LSTM。为了训练LSTM,我需要告诉LSTM什么是依赖变量,什么是独立变量。我的因变量的形状为(4432,1),我的3D独立变量数组(lstm_ivs)的形状为(4432,14,1800)。

4432个单个视频,1800帧(时间步长)和14个独立变量。 单视频4432个,因变量1个(展示)。

如何拆分数据进行培训? LSTM如何理解哪个因变量属于相应的独立变量(不要忘了1800个时间步长)?

到目前为止,这是我的代码:

lstm_shape = 10
main_shape = 16
drop = 0.2
learn = 0.95
rho = 0.95
epochs = 100
batch_size = 64
opt = optimizers.Adadelta(learning_rate=learn, rho=rho)
loss_weight = 0.8
es = EarlyStopping(monitor='val_main_output_loss', mode='min', verbose=1, patience=10)
es = EarlyStopping(monitor='main_output_loss', mode='min', verbose=1, patience=4)

model = Sequential()
model.add(LSTM(lstm_ivs.shape[0], activation='relu', input_shape=(lstm_ivs.shape[1], lstm_ivs.shape[2]),return_sequences=False))
model.add(Dense(1))
model.add(Dropout(drop))
model.add(Dense(lstm_shape,activation = 'relu'))
model.add(Dropout(drop))
model.add(Dense(lstm_shape,activation = 'relu'))
model.add(Dropout(0.2))
model.compile(optimizer = opt, loss='mean_squared_error')
print(model.summary())

因此模型运行良好,但我不知道如何开始训练。

希望您能帮助我。

最佳 凯

1 个答案:

答案 0 :(得分:0)

我不知道如何开始训练。

要训练模型,您应该调用model.fit()方法。

然后,一旦经过培训,您就可以使用model.predict()预测新值。

Here是文档,您可以在其中阅读有关参数的信息,以准确了解应如何传递数据。