栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

tensorflow.train.import_meta_graph不起作用?

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

tensorflow.train.import_meta_graph不起作用?

要重用

metaGraphDef
,您需要在原始图中记录有趣的张量的名称。例如,在第一程序中,设置明确
name
的定义中的参数
v1
v2
v4

v1 = tf.placeholder(tf.float32, name="v1")v2 = tf.placeholder(tf.float32, name="v2")# ...v4 = tf.add(v3, c1, name="v4")

然后,您可以在调用中使用原始图中的张量的字符串名称

sess.run()
。例如,以下代码片段应该起作用:

import tensorflow as tf_ = tf.train.import_meta_graph("./file")sess = tf.Session()result = sess.run("v4:0", feed_dict={"v1:0": 12.0, "v2:0": 3.3})

另外,您可以使用

tf.get_default_graph().get_tensor_by_name()
获取
tf.Tensor
感兴趣的张量的对象,然后将其传递给
sess.run()

import tensorflow as tf_ = tf.train.import_meta_graph("./file")g = tf.get_default_graph()v1 = g.get_tensor_by_name("v1:0")v2 = g.get_tensor_by_name("v2:0")v4 = g.get_tensor_by_name("v4:0")sess = tf.Session()result = sess.run(v4, feed_dict={v1: 12.0, v2: 3.3})

更新 :根据注释中的讨论,这里是保存和加载(包括保存变量内容)的完整示例。这说明了通过

vx
在单独的操作中将变量的值加倍来保存变量。

保存:

import tensorflow as tfv1 = tf.placeholder(tf.float32, name="v1") v2 = tf.placeholder(tf.float32, name="v2")v3 = tf.mul(v1, v2)vx = tf.Variable(10.0, name="vx")v4 = tf.add(v3, vx, name="v4")saver = tf.train.Saver([vx])sess = tf.Session()sess.run(tf.initialize_all_variables())sess.run(vx.assign(tf.add(vx, vx)))result = sess.run(v4, feed_dict={v1:12.0, v2:3.3})print(result)saver.save(sess, "./model_ex1")

恢复:

import tensorflow as tfsaver = tf.train.import_meta_graph("./model_ex1.meta")sess = tf.Session()saver.restore(sess, "./model_ex1")result = sess.run("v4:0", feed_dict={"v1:0": 12.0, "v2:0": 3.3})print(result)

最重要的是,为了使用保存的模型,您必须记住至少某些节点的名称(例如,训练操作,输入占位符,评估张量等)。该

metaGraphDef
专卖店在训练中所包含的模型,并有助于从检查点恢复这些,但你必须重建张量的变量列表/使用/自己评估模型操作。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/373861.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号