gpt4 book ai didi

python - Windows 上的 Tensorflow 对象检测 API - 错误 "ModuleNotFoundError: No module named ' utils'”

转载 作者:太空狗 更新时间:2023-10-29 20:28:56 24 4
gpt4 key购买 nike

我正在尝试获取 TensorFlow 对象检测 API

https://github.com/tensorflow/models/tree/master/research/object_detection

按照安装说明在 Windows 上工作

https://github.com/tensorflow/models/tree/master/research/object_detection

这似乎适用于 Linux/Mac。如果我将脚本放在我将上述 repo 克隆到的目录中,我只能让它工作。如果我将脚本放在任何其他目录中,我会收到此错误:

ModuleNotFoundError: No module named 'utils'

我怀疑原因是没有正确执行上面安装说明中列出的此命令的 Windows 等效命令:

# From tensorflow/models/research/
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim

如果需要的话,我正在使用 Windows 10、Python 3.6 和 TensorFlow 1.4.0。当然,我用谷歌搜索了这个问题并找到了各种链接,例如:

https://github.com/tensorflow/models/issues/1747

但这并没有解决这个问题。关于如何解决这个问题有什么建议吗?

以下是我到目前为止具体执行的步骤:


编辑:这些步骤在更新后现在可以使用 RecencyEffect 的答案

1) 通过pip3安装TensorFlow及相关工具

2) 在管理命令提示符下,运行以下命令:

pip3 install pillow
pip3 install lxml
pip3 install jupyter
pip3 install matplotlib

3) 将 TensorFlow“模型”存储库克隆到 Documents 文件夹,在我的例子中

C:\Users\cdahms\Documents\models

4) 下载 Google Protobuf https://github.com/google/protobuf Windows v3.4.0 版本“protoc-3.4.0-win32.zip”(我尝试了最新的 3.5.1 并在后续步骤中遇到错误,因此我根据此视频尝试了 3.4.0 https://www.youtube.com/watch?v=COlbP62-B-U&list=PLQVvvaa0QuDcNK5GeCQnxYnSSaar2tpku&index=1 并且 protobuf 编译工作正常)

5) 将 Protobuf 下载解压到 Program Files,特别是

"C:\Program Files\protoc-3.4.0-win32"

6) CD进入models\research目录,具体

cd C:\Users\cdahms\Documents\models\research

7) 执行 protobuf 编译,特别是

“C:\Program Files\protoc-3.4.0-win32\bin\protoc.exe” object_detection/protos/*.proto --python_out=.

导航到:

C:\Users\cdahms\Documents\models\research\object_detection\protos

并验证 .py 文件是否作为编译结果成功创建(只有 .proto 文件开始)

8) cd 到 object_detection 目录,例如:

cd C:\Users\cdahms\Documents\models\research\object_detection

然后在命令提示符处输入以下内容以启动 object_detection_tutorial.ipynb Jupyter Notebook

jupyter notebook

9) 在Jupyter Notebook中,选择“object_detection_tutorial.ipynb” -> Cell -> Run all,示例应该在notebook中运行

10) 在Jupyter Notebook中,选择"file"->“下载为”->“Python”,将notebook的.py版本保存到同一目录,即

C:\Users\cdahms\Documents\models\research\object_detection\object_detection_tutorial.py

您现在可以在您选择的 Python 编辑器(例如 PyCharm)中打开脚本并运行它。


根据 RecencyEffect 在下面的回答进行编辑,如果您遵循这些额外的步骤,您将能够从任何目录运行 object_detection_tutorial.py 脚本

11) 将脚本移动到任何其他目录,然后尝试运行它,你会发现你会得到错误:

ModuleNotFoundError: No module named 'utils'

因为我们还没有通知Python如何找到这些行使用的utils目录:

from utils import label_map_util
from utils import visualization_utils as vis_util

解决这个问题。 . .

12) 转到系统 -> 高级系统设置 -> 环境变量。 . . -> 新建,并添加一个名为 PYTHONPATH 和这些值的变量:

enter image description here

13) 同样在环境变量下,编辑 PATH 并添加 %PYTHONPATH%,如下所示:

enter image description here

14) 重新启动以确保这些路径更改生效

15) 打开命令提示符并运行命令“set”,确认 PYTHONPATH 存在并且 PYTHONPATH 和 PATH 包含前面步骤中的值。

16) 现在您可以将“object_detection_tutorial.py”复制到任何其他目录,它将运行

最佳答案

如评论中所述,utils 是一个子模块,因此您实际上需要将 object_detection 添加到 PYTHONPATH,而不是 object_detection/实用程序

很高兴它对你有用。

关于python - Windows 上的 Tensorflow 对象检测 API - 错误 "ModuleNotFoundError: No module named ' utils'”,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48247921/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com