我使用的是Tensorflow r0.12。
我在本地使用google-cloud-ml来运行两个不同的培训任务。在第一个工作中,我为我的变量找到了良好的初始值。我将它们存储在V2检查点中。
当我尝试恢复变量以在第二个作业中使用它们时:
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)我收到以下错误消息:
tensorflow.python.framework.errors_impl.InternalError: Unable to get element from the feed as bytes.检查点是在第一个作业中使用以下行创建的:
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上的启动生成的设备规范相当复杂,我不需要获得相同的调度。
发布于 2017-01-04 22:36:40
错误消息是由于疏忽而导致缺少名为"checkpoint“的文件。
在适当的文件夹中重新引入此文件后,检查点的加载似乎正在工作。
很抱歉遗漏了这一关键点。
发布于 2016-12-29 23:34:57
我认为问题可能是在保存模型时设置了write_meta_graph=False。因此,我不认为您实际上是在保存图形,所以当您尝试恢复时,没有要恢复的图形。尝试设置write_meta_graph=True
发布于 2017-10-24 16:17:50
错误消息也是由于疏忽而导致的名为"checkpoint“的文件中的错误。
例如,包含模型的文件夹已经移动,但"checkpoint“中的"model_checkpoint_path:”的值仍然是旧路径。
https://stackoverflow.com/questions/41369062
复制相似问题