Tensorflow1.5 模型训练结果的保存与恢复
1.应用场景:
如:在训练过程中通过可视化观察到损失函数下降不明显时,可停止训练,调整学习率后,加载已保存的模型,继续训练2.样例:
saver = tf.train.Saver()
saver_r = tf.train.import_meta_graph('E:/data/model-10.meta')
with tf.Session() as sess:
#sess.run(tf.global_variables_initializer())#只有在首次训练的时候执行,导入模型时无需初始化参数
saver_r.restore(sess, tf.train.latest_checkpoint('E:/data/tensorflow-master/1.Cnn_Captcha/save/'))
step = 0
while True:
batch_x, batch_y = get_next_batch(64)
_, loss_ = sess.run([optimizer, loss], feed_dict={X: batch_x, Y: batch_y, keep_prob: 0.75})
loss_scalar = tf.summary.scalar('loss', loss)
print(step, loss_)
if step % 100 == 0 and step != 0:
saver.save(sess, "E:/data/model", global_step=step)
step += 1
1.保存的模型再次导入后,可继续进行训练(graph不能发生改变)
2.导入保存的模型在添加可视化参数时,需使用手动管理模式,不可使用 tf.summary.merge_all()