Python 无法加载检查点文件
我正在两个tensorflow模型上运行python脚本。脚本只是读取检查点文件并打印其内容。我使用这个脚本来验证检查点文件是否有效。 剧本: 模型1-facenet: 模式2: 在桌面Ubuntu14.4上,docker在Ubuntu14.4上,docker在OSX上-它工作得非常完美。 在AWS上的Ubuntu16.4和AWS上的Ubuntu16.4上的docker上——事实并非如此 假设docker删除了os版本,我担心这个错误与它在AWS上运行的事实有关 错误:Python 无法加载检查点文件,python,tensorflow,Python,Tensorflow,我正在两个tensorflow模型上运行python脚本。脚本只是读取检查点文件并打印其内容。我使用这个脚本来验证检查点文件是否有效。 剧本: 模型1-facenet: 模式2: 在桌面Ubuntu14.4上,docker在Ubuntu14.4上,docker在OSX上-它工作得非常完美。 在AWS上的Ubuntu16.4和AWS上的Ubuntu16.4上的docker上——事实并非如此 假设docker删除了os版本,我担心这个错误与它在AWS上运行的事实有关 错误: File "/usr/
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1014, in _do_run
target_list, options, run_metadata)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/client/session.py", line 1034, in _do_call
raise type(e)(node_def, op, message)
tensorflow.python.framework.errors_impl.DataLossError: Unable to open table file /data/model/a.ckpt: Data loss: not an sstable (bad magic number): perhaps your file is in a different file format and you need to use a different restore operator?
[[Node: save/restore_slice_318 = RestoreSlice[dt=DT_FLOAT, preferred_shard=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/restore_slice_318/tensor_name, save/restore_slice_318/shape_and_slice)]]
Caused by op u'save/restore_slice_318', defined at:
File "/tmp/runner.py", line 35, in
load_model_to_session(session, model_dir, meta_file, ckpt_file)
File "/tmp/runner.py", line 6, in load_model_to_session
saver = tf.train.import_meta_graph(os.path.join(model_dir_exp, meta_file))
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/training/saver.py", line 1526, in import_meta_graph
**kwargs)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/meta_graph.py", line 502, in import_scoped_meta_graph
producer_op_list=producer_op_list)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/importer.py", line 285, in import_graph_def
op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 2240, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/framework/ops.py", line 1128, in init
self._traceback = _extract_stack()
DataLossError (see above for traceback): Unable to open table file /data/model/a.ckpt: Data loss: not an sstable (bad magic number): perhaps your file is in a different file format and you need to use a different restore operator?
[[Node: save/restore_slice_318 = RestoreSlice[dt=DT_FLOAT, preferred_shard=-1, _device="/job:localhost/replica:0/task:0/cpu:0"](_recv_save/Const_0, save/restore_slice_318/tensor_name, save/restore_slice_318/shape_and_slice)]]
我想知道是否有什么工作可以做。
我使用的是tensorflow 0.12.1有两种可能性:(a)您的输入数据已损坏——可能比较两个文件的SHA哈希?或者(b)Tensorflow或操作系统的某个构建中存在错误。如果没有更多的信息,很难说是哪个。