Windows上的Tensorflow对象检测API-错误“ ModuleNotFoundError:没有名为'utils'的模块”

cdahms:

我正在尝试获取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。仅当我将上述存储库克隆到的目录中放入脚本时,我才能使此工作正常。如果将脚本放在任何其他目录中,则会出现此错误:

ModuleNotFoundError: No module named 'utils'

我怀疑原因未正确执行与上述安装说明中列出的Windows命令等效的Windows:

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

如果重要的话,我正在使用Windows 10,Python 3.6和TensorFlow 1.4.0。当然,我已经对此问题进行了Google搜索,并找到了各种链接,例如:

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并在后续步骤中遇到了错误,因此我按照这个vid https://www.youtube.com/watch?v=COlbP62-BU&list=PLQVvvaa0QuDcNK5GeCQnxYnSSaar2tpku&index=1尝试了3.4.0 ,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->全部运行,该示例应在笔记本中运行

10)在Jupyter Notebook中,选择“文件”->“下载为”->“ Python”,然后将笔记本的.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和以下值的变量:

在此处输入图片说明

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

在此处输入图片说明

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

15)弹出命令提示符并运行命令“ set”,验证PYTHONPATH是否存在以及PYTHONPATH和PATH是否包含前面步骤中的值。

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

RecencyEffect:

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

我很高兴为您服务。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

ModuleNotFoundError:没有名为“ utils”的模块

Python PyTorch错误:ModuleNotFoundError:没有名为“ torch.utils.tensorboard”的模块

Python错误:“ ModuleNotFoundError:没有名为'email.Utils的模块”

导入错误:没有名为“libs.utils”的模块

ModuleNotFoundError:没有名为“ utils.datasets”的模块

ModuleNotFoundError:没有名为“ tensorflow”的模块

ModuleNotFoundError:没有名为“ windows”的模块

Windows 10上的致命Python错误ModuleNotFoundError:没有名为'encodings'的模块

从utils导入label_map_util导入错误:没有名为utils的模块

错误:ModuleNotFoundError:没有名为“email.FeedParser”的模块

ModuleNotFoundError:没有名为错误python 3.8.2的模块

uwsgi错误-ModuleNotFoundError:没有名为“编码”的模块?

错误:ModuleNotFoundError:没有名为“ xlwt”的模块

传递导入错误:ModuleNotFoundError:没有名为“ ...”的模块

ModuleNotFoundError:没有名为“ apt_pkg”的模块错误

ModuleNotFoundError:没有名为“加密”的模块错误

错误:ModuleNotFoundError:没有名为“ requests”的模块

Python错误:ModuleNotFoundError:没有名为“ <moduleName>”的模块

错误:ModuleNotFoundError:没有名为“pyqtgraph”的模块?

Colab错误:ModuleNotFoundError:没有名为“ geopandas”的模块

Databricks 错误:ModuleNotFoundError:没有名为“sqlalchemy”的模块

介子构建错误“ModuleNotFoundError:没有名为‘mesonbuild’的模块”

Pip 错误:ModuleNotFoundError:没有名为“pip”的模块

ImportError:没有名为utils的模块

ImportError:没有名为“ utils”的模块

即使安装了 tensorflow-gpu,Keras 也会给出错误“ModuleNotFoundError:没有名为‘tensorflow’的模块”

导入错误:使用pickle.load时没有名为“ utils”的模块

编译py文件时没有名为utils的模块错误

Tensorflow导入错误:没有名为'tensorflow'的模块