【发布时间】:2018-04-26 23:54:33
【问题描述】:
我是 tensorflow 的初学者,所以如果这是一个愚蠢的问题并且答案很明显,请原谅。
我创建了一个 Tensorflow 图,从 X 和 y 的占位符开始,我优化了一些代表我的模型的张量。图的一部分是可以计算预测向量的东西,例如对于线性回归类似
y_model = tf.add(tf.mul(X,w),d)
y_vals = sess.run(y_model,feed_dict={....})
训练完成后,我得到了可接受的 w 和 d 值,现在我想保存我的模型以备后用。然后,在另一个 python 会话中,我想恢复模型以便我可以再次运行
## Starting brand new python session
import tensorflow as tf
## somehow restor the graph and the values here: how????
## so that I can run this:
y_vals = sess.run(y_model,feed_dict={....})
对于一些不同的数据并取回 y 值。
我希望它以这样一种方式工作,即用于从占位符计算 y 值的图形也被存储和恢复 - 只要占位符得到正确的数据,这应该在没有用户的情况下透明地工作(那个谁应用模型)需要知道图形的样子)。
据我了解 tf.train.Saver().save(..) 只保存变量,但我也想保存图表。我认为 tf.train.export_meta_graph 在这里可能是相关的,但我不明白如何正确使用它,文档对我来说有点神秘,示例甚至没有在任何地方使用 export_meta_graph。
【问题讨论】:
-
我不明白从该页面恢复我的模型的步骤。在执行 export_meta_graph("mymodel") 之后,我尝试了 ret = tf.train.import_meta_graph("mymodel") ,但是当我尝试 ret.restore(sess,"mymodel") 时,我收到错误“无法打开表文件./metagraph:数据丢失:不是 sstable”。如果我改为尝试使用 Saver.save(sess,"storedsess") 存储“storedsess”的 ret.restore(sess,"storedsess") 我收到错误“在检查点文件 storedsess 中找不到张量名称'变量'”.. .
-
现在基本上已经回答了这个问题:stackoverflow.com/questions/38829641/…
标签: tensorflow