Tensorflow retrain.py tensorflow.python.framework.errors_impl.FailedPreconditionError

时间:2017-04-21 14:52:04

标签: python linux tensorflow deep-learning

我试图在命令下运行保留:

python tensorflow/examples/image_retraining/retrain.py --image_dir ~/flower_photos --output_graph tf_output --output_labels tf_output

然后我收到了这个错误:

2017-04-21 00:44:15.386870: Step 3999: Validation accuracy = 95.0% (N=100)
Final test accuracy = 91.4% (N=385)
Converted 2 variables to const ops.
Traceback (most recent call last):
  File "tensorflow/examples/image_retraining/retrain.py", line 1062, in <module>
    tf.app.run(main=main, argv=[sys.argv[0]] + unparsed)
  File "/home/demo/anaconda3/envs/tfv1/lib/python3.5/site-packages/tensorflow/python/platform/app.py", line 48, in run
    _sys.exit(main(_sys.argv[:1] + flags_passthrough))
  File "tensorflow/examples/image_retraining/retrain.py", line 903, in main
    f.write(output_graph_def.SerializeToString())
  File "/home/demo/anaconda3/envs/tfv1/lib/python3.5/site-packages/tensorflow/python/lib/io/file_io.py", line 98, in write
    self._prewrite_check()
  File "/home/demo/anaconda3/envs/tfv1/lib/python3.5/site-packages/tensorflow/python/lib/io/file_io.py", line 84, in _prewrite_check
    compat.as_bytes(self.__name), compat.as_bytes(self.__mode), status)
  File "/home/demo/anaconda3/envs/tfv1/lib/python3.5/contextlib.py", line 66, in __exit__
    next(self.gen)
  File "/home/demo/anaconda3/envs/tfv1/lib/python3.5/site-packages/tensorflow/python/framework/errors_impl.py", line 466, in raise_exception_on_not_ok_status
    pywrap_tensorflow.TF_GetCode(status))
tensorflow.python.framework.errors_impl.FailedPreconditionError: tf_output

在搜索时,我发现了这个帖子,我通过删除输出路径完成了他们所说的内容并且它正常工作

blog post

然而,我的问题是为什么?我有权使用文件夹和空间。我试图将文件夹移动到所有位置/ tf_output,tensorflow / tf_output,/ home / demo / tf_output并确保它具有递归的777演示用户所有者。

我仍然遇到同样的错误。那么reconin.py硬编码指向/ tmp仅用于输出吗?如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

我在原始帖子上回复了。我试图在本地重现这个问题,看看可能会发生什么,似乎只要输出目录存在它应该工作。你能分享一些关于你的设置的更多细节吗?即你正在运行什么平台(linux / windows / mac)以及你使用的是什么版本的TF?