首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Tensorflow失败并显示"Unable to get element from the feed as bytes“。尝试恢复检查点时

Tensorflow失败并显示"Unable to get element from the feed as bytes“。尝试恢复检查点时
EN

Stack Overflow用户
提问于 2016-12-29 04:12:47
回答 3查看 9.3K关注 0票数 9

我使用的是Tensorflow r0.12。

我在本地使用google-cloud-ml来运行两个不同的培训任务。在第一个工作中,我为我的变量找到了良好的初始值。我将它们存储在V2检查点中。

当我尝试恢复变量以在第二个作业中使用它们时:

代码语言:javascript
复制
import tensorflow as tf

sess = tf.Session()
new_saver = tf.train.import_meta_graph('../variables_pred/model.ckpt-10151.meta', clear_devices=True)
new_saver.restore(sess, tf.train.latest_checkpoint('../variables_pred/'))
all_vars = tf.trainable_variables()
for v in all_vars:
    print(v.name)

我收到以下错误消息:

代码语言:javascript
复制
tensorflow.python.framework.errors_impl.InternalError: Unable to get element from the feed as bytes.

检查点是在第一个作业中使用以下行创建的:

代码语言:javascript
复制
saver = tf.train.Saver()
saver.export_meta_graph(filename=os.path.join(output_dir, 'export.meta'))
saver.save(sess, os.path.join(output_dir, 'export'), write_meta_graph=False)

根据this answer的说法,这可能是因为缺少元数据文件,但我正在加载元数据文件。

PS :我使用clear_devices=True参数是因为google-cloud-ml上的启动生成的设备规范相当复杂,我不需要获得相同的调度。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2017-01-04 22:36:40

错误消息是由于疏忽而导致缺少名为"checkpoint“的文件。

在适当的文件夹中重新引入此文件后,检查点的加载似乎正在工作。

很抱歉遗漏了这一关键点。

票数 12
EN

Stack Overflow用户

发布于 2016-12-29 23:34:57

我认为问题可能是在保存模型时设置了write_meta_graph=False。因此,我不认为您实际上是在保存图形,所以当您尝试恢复时,没有要恢复的图形。尝试设置write_meta_graph=True

票数 1
EN

Stack Overflow用户

发布于 2017-10-24 16:17:50

错误消息也是由于疏忽而导致的名为"checkpoint“的文件中的错误。

例如,包含模型的文件夹已经移动,但"checkpoint“中的"model_checkpoint_path:”的值仍然是旧路径。

票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41369062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档