这里用meta,cpkt来重启保存好的模型
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 = tf.add(v1,v2)
saver = tf.train.Saver()
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
print(sess.run(result))
saver.save(sess,'Model/model.cpkt')
这里我们要区分节点名称与张量名称, 例如result 是一个节点名称,但是他对应的输出是一个张量,因此它的输出是一个张量.
import tensorflow as tf
saver = tf.train.import_meta_graph('./Model/model.cpkt.meta')
with tf.Session() as sess:
saver.restore(sess,'./Model/model.cpkt')
op = tf.get_default_graph().get_operations()
for key in op:
print(key.name)
print(sess.run(tf.get_default_graph().get_tensor_by_name("Add:1")))
这里我们直接用meta图来重启模型,最后来输出结果。这里有两个点。
1.首先,上面我们构建好了图,这里导入的图就是把图填充到默认的图里面,因此我们可以获得图:
graph = tf.get_default_graph()
2.得到输出张量:张量的名称:第几个输出。 "Add:0" 表示Add节点的第一个输出。
补充知识。我们可以输出所有节点名称,这里有几种选择,
1.得到所有操作名称。
2.得到所有张量名称。
3.得到所有节点名称。
网友评论