0

我最近将我的一个小型 ubuntu (16.04) 服务器从 tensorflow-gpu 1.4 升级到 tensorflow-gpu 1.5 以使用对象检测 API。我已经 git 克隆了应该与 tensorflow 1.5 一起使用的最新版本的 API。

CUDA/cudNN 等 tensorflow 程序在升级后启动并运行,对象检测 API 中的所有测试脚本运行良好。

尽管如此,当我尝试运行 train.py 时,它会立即失败并出现以下错误:

File "/home/arvid/ownCloud/tensorflow/models/research/object_detection/train.py", line 167, in <module> tf.app.run()
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/platform/app.py", line 124, in run _sys.exit(main(argv))
File "/home/arvid/ownCloud/tensorflow/models/research/object_detection/train.py", line 107, in main overwrite=True)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/lib/io/file_io.py", line 385, in copy compat.as_bytes(oldpath), compat.as_bytes(newpath), overwrite, status)
File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/errors_impl.py", line 473, in __exit__ c_api.TF_GetCode(self.status.status)) 

tensorflow.python.framework.errors_impl.NotFoundError: ; No such file or directory

当缺少某些输入文件时会出现此错误,但这里的问题是错误中没有指定文件。

通常丢失的文件显示在逗号和分号之间,但在此错误中它只是一个空格。

通过在 --train_dir= 和路径之间插入一个空格,我可以在运行 tensorflow 1.4 的工作服务器上重现相同的错误:

--train_dir= {some_path}

但这里不是这样!

附加信息:当我运行 train.py 时,会在我指定的位置创建“train”目录,因此 tensorflow 似乎能够识别路径等。

任何有关如何调试的输入将不胜感激!

4

2 回答 2

0

(好吧,我现在感觉有点傻……)

解决方案很简单 - train.py 的标志名称随着更新而改变......

它曾经是:

--pipeline_config={some_path}

但现在是:

--pipeline_config_path={some_path}

尽管如此,如果提供更多信息的错误消息会很有用......

于 2018-03-13T10:16:53.967 回答
0

--train_dir= {some_path}在和之间移动一些空格--pipeline_config_path= {some_path}

这个对我有用。

于 2018-05-01T11:33:46.030 回答