Tensorflow对象检测:ImportError:没有名为nets的模块

时间:2017-07-11 13:51:31

标签: windows tensorflow environment-variables object-detection

我目前正在尝试在Windows 7上安装tensorflow对象检测应用程序(雇主要求),并且我从最后几步开始失败。

基本上,当我运行安装测试命令时出现以下错误: ImportError:没有名为nets的模块。

我已经阅读了有关该主题的一些解决方案:

https://github.com/tensorflow/models/issues/729 https://github.com/tensorflow/models/issues/1842

看起来像这样: export PYTHONPATH =" $ PYTHONPATH:" somepath" / tensorflow / models / slim"

基本上意味着我必须在PYTHONPATH环境变量中设置正确的路径。

使用Windows,我试着调用它: SET PYTHONPATH =" $ PYTHONPATH:C:tensorflow / models / slim 当它没有工作时,我在system->中创建了一个PYTHONPATH变量。环境变量。

我仍然收到错误,所以我想我仍然遗失了一些东西,但由于我缺乏知识,我仍然无法弄清楚是什么。

熟悉Windows的人是否能够指出缺少什么?

由于

3 个答案:

答案 0 :(得分:1)

在Linux中

: 添加导出导出PYTHONPATH = $ PYTHONPATH:pwdpwd / slim to〜/ .bashrc 注意:你应该保留单引号

如果您使用Windows,我想它应该是这样的:PYTHONPATH = $ PYTHONPATH:'C:/ tensorflow / models':'C:/ tensorflow / models'/ slim 只是我的猜测,你可以尝试一下。 祝你好运!

答案 1 :(得分:0)

如果运行setup.py,它将安装所有相关模块以进行对象检测。另一个选择是下载git目录。 cd到该文件夹​​并尝试从那里运行该模块。你可能会遇到protubuf问题。尝试在运行代码之前安装它。在windows中安装protobuf有点复杂。但如果你没有使用" .pb"文件,然后你不需要。

答案 2 :(得分:0)

我想出了一种让它发挥作用的方法。我不是写这个作为最终答案,因为它主要是一种解决方法,由于我不了解我不能保证它会起作用(也可能不是最好的做法)。

无论如何它是:

正如Beta之前建议的那样,你必须运行setup.py,但是从models文件夹运行它并没有为我做,我还必须从对象检测文件夹运行它。

但是有一个问题,它产生了一个错误,说BUILD已经存在(这是正确的)所以我不得不从模型内部删除BUILD文件。

之后它起作用,结果我设定的路径工作正常。

现在,如果有专家对此进行研究并解释此解决方法的工作方式和原因,可能会使其成为有效的解决方案。