Tensorflow 实战google深度学习框架 09计算图保存,与模型读取

xiaoxiao2021-02-28  36

1. 保存计算两个变量和的模型。

import tensorflow as tf v1 = tf.Variable(tf.constant(1.0, shape=[1], name='v1')) v2 = tf.Variable(tf.constant(2.0, shape=[1], name='v2')) result = v1 + v2 saver = tf.train.Saver() with tf.Session() as sess: tf.global_variables_initializer().run() # init_op = tf.global_variables_initializer() # sess.run(init_op) saver.save(sess, 'Saved_model/model_me.ckpt') sess.close()

2. 加载保存了两个变量和的模型。

with tf.Session() as sess: saver.restore(sess, 'Saved_model/model_me.ckpt') print(sess.run(result))

INFO:tensorflow:Restoring parameters from Saved_model/model_me.ckpt [3.]

3. 直接加载持久化的图。

saver = tf.train.import_meta_graph('Saved_model/model_me.ckpt.meta') with tf.Session() as sess: saver.restore(sess, 'Saved_model/model_me.ckpt') print(sess.run(tf.get_default_graph().get_tensor_by_name('add:0')))

INFO:tensorflow:Restoring parameters from Saved_model/model_me.ckpt [3.]

4. 变量重命名 & 变量恢复

v1 = tf.Variable(tf.constant(1.0, shape=[1]), name = "other-v1") v2 = tf.Variable(tf.constant(2.0, shape=[1]), name = "other-v2") saver = tf.train.Saver({"v1": v1, "v2": v2}) import tensorflow as tf v = tf.Variable(0, dtype=tf.float32, name="v") ema = tf.train.ExponentialMovingAverage(0.99) print( ema.variables_to_restore()) saver = tf.train.Saver({"v/ExponentialMovingAverage": v}) with tf.Session() as sess: saver.restore(sess, "Saved_model/model2.ckpt") print (sess.run(v))
5.保存滑动平均模型
saver = tf.train.Saver() with tf.Session() as sess: init_op = tf.global_variables_initializer() sess.run(init_op) sess.run(tf.assign(v, 10)) sess.run(maintain_averages_op) # 保存的时候会将v:0 v/ExponentialMovingAverage:0这两个变量都存下来。 saver.save(sess, "Saved_model/model2.ckpt") print( sess.run([v, ema.average(v)]))

6. 加载滑动平均模型。

v = tf.Variable(0, dtype=tf.float32, name="v") # 通过变量重命名将原来变量v的滑动平均值直接赋值给v。 saver = tf.train.Saver({"v/ExponentialMovingAverage": v}) with tf.Session() as sess: saver.restore(sess, "Saved_model/model2.ckpt") print (sess.run(v))
转载请注明原文地址: https://www.6miu.com/read-2627041.html

最新回复(0)