如何加载训练完毕后的模型文件继续训练模型

训练完成后得到了模型文件,下一次想接着上次的基础继续进行训练,这可怎么办?

小周来支招,打一顿就好了

  • 基于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})
发布了62 篇原创文章 · 获赞 118 · 访问量 22万+

猜你喜欢

转载自blog.csdn.net/qq_38412868/article/details/104321119