大家好:
想問一下,目前在訓練時間序列遇到的問題
小弟使用的是keras。
小弟目前有大約300個樣本,每個樣本的長度都不一樣(都超過4000),沒有將所有樣本的長度弄成一樣。
訓練集的分法是,我對每個樣本都分成
x = [[n:n+60],[n+1:n+61]...]
y = [[[n+1:n+61]],[n+2:n+62]]
模型架構如下:
model = Sequential()
model.add(Masking(mask_value=0, input_shape=(60, 1)))
model.add(LSTM(500, return_sequences=True))
model.add(Dropout(0.5))
model.add(LSTM(250, return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(150, return_sequences=True))
model.add(Dense(1))
model.compile(loss='mse', optimizer=Adam(lr=1e-3), metrics=['mape', 'mse', 'acc'])
model.summary()
history = model.fit(X_train, Y_train, epochs=500, batch_size=500, validation_split=0.33,
score = model.evaluate(X_valid, Y_valid)
想請問有甚麼辦法可以讓我一個樣本訓練完更新一次參數(1/300的樣本訓練完更新一次)?
keras中的fit_generator能做到這個功能嗎?