原文链接:https://blog.youkuaiyun.com/qq_25987491/article/details/80529435
saver = tf.train.Saver() #用于保存神经网络结构,构造方法可以传参数,参数可以是dict和list。不传参数时默认保存所有变量
with tf.Session() as sess:
tf.initialize_all_variables().run() #初始化所有变量
ckpt = tf.train.get_checkpoint_state(MODEL_SAVE_PATH) #获取checkpoints对象
if ckpt and ckpt.model_checkpoint_path:##判断ckpt是否为空,若不为空,才进行模型的加载,否则从头开始训练
saver.restore(sess,ckpt.model_checkpoint_path)#恢复保存的神经网络结构,实现断点续训
for i in range(TRAINING_STEPS):
xs, ys = mnist.train.next_batch(BATCH_SIZE) #产生这一轮的训练数据
_, loss_value, step = sess.run([train_op, loss, global_step], feed_dict={x: xs, y_: ys})
if i % 1000 == 0:
print("After %d training step(s), loss on training batch is %g." % (step, loss_value))
saver.save(sess, os.path.join(MODEL_SAVE_PATH, MODEL_NAME), global_step=global_step)#保存神经网络结构
本文详细介绍了如何使用TensorFlow的Saver类来保存和恢复神经网络模型,包括模型训练过程中的断点续训操作。通过实例展示了在训练过程中如何保存模型参数,并在后续训练中加载这些参数继续训练。
1645

被折叠的 条评论
为什么被折叠?



