本文参考于博客,但是增加了自己的一些见解和修改,主要实现的是tensorflow保存模型、加载模型、修改模型、保存修改后的模型、使用修改后的模型做推理、模型转pb和使用pb做推理。
1.创建和保存模型:
import tensorflow as tf
w1 = tf.placeholder("float", name="w1")
w2 = tf.placeholder("float", name="w2")
b1 = tf.Variable(2.0, name="bias")
# 定义一个op,用于后面恢复
w3 = tf.add(w1, w2)
w4 = tf.multiply(w3, b1, name="op_to_restore")
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
# 创建一个Saver对象,用于保存所有变量
saver = tf.train.Saver()
# 通过传入数据,执行op
print(sess.run(w4, feed_dict={
w1: 4, w2: 8}))
# 打印 24.0 ==>(w1+w2)*b1
# 现在保存模型
saver.save(sess, './checkpoint_dir1/MyModel', global_step=1000)
输出结果:
24.0
2.加载模型并增加自己的op,然后保存修改后模型(注意看程序注解)
import ten