训练完成后得到了模型文件,下一次想接着上次的基础继续进行训练,这可怎么办?
小周来支招,打一顿就好了
-
基于keras框架得到的h5文件
第一次训练模型得到的h5文件:
model = Sequential()
model.add(LSTM(150, input_shape=(train_x.shape[1], train_x.shape[2]),return_sequences=False))
model.add(Dense(30))
model.summary()
model.compile(loss=["mse"], optimizer='adam',metrics=['mape','mae','mse'])
history = model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size, validation_data=[test_x, test_y],verbose=2, shuffle=True)
#save LeNet_model_files after train
model.save('lstm_model.h5')
利用h5文件接着上次的基础继续进行训练,只需:
#加载模型文件
model=load_model('lstm_model.h5')
model._make_predict_function()
#继续用数据训练
history = model.fit(train_x, train_y, epochs=epochs, batch_size=batch_size, validation_data=[test_x, test_y],verbose=2, shuffle=True)
model.save('lstm_model2.h5')
-
基于tensorflow框架得到的ckpt文件


图上是加载模型进行预测,把相应代码改成下面的训练即可实现继续训练!
train_step.run(feed_dict={x: images, y_: batch[1],keep_prob1:prob1,keep_prob2:prob2,keep_prob3:prob3})