from utils import label_map_util Import Error: No module named utils
from utils import label_map_util Import Error: No module named utils
我正在尝试 运行 object_detection.ipynb
类型的程序,但它是一个普通的 python 程序 (.py)。它工作得很好,但是当 运行 在 ..models/research/object_detection
文件夹中时,但主要问题是当我试图 运行 另一个目录中的这段代码时 sys.append
,我最终遇到以下错误:
Traceback (most recent call last):
File "obj_detect.py", line 20, in
from utils import label_map_util
ImportError: No module named utils
如果我试图将文件从 ..models/research/object_detection
文件夹导入到不同目录中的 python 程序,那么我最终会遇到更多错误,如下所示:
Traceback (most recent call last):
File "classify_image.py", line 10, in
import object_dt
File "/home/saikishor/Tensorflow_Models/models/research/object_detection/object_dt.py", line 18, in
from utils import label_map_util
File "/home/saikishor/Tensorflow_Models/models/research/object_detection/utils/label_map_util.py", line 22, in
from object_detection.protos import string_int_label_map_pb2
ImportError: No module named object_detection.protos
如何解决这个问题?
可能是您的 object_detection 文件夹不在您的路径中,所以 python 不知道到哪里寻找文件。
您可以在 python 中使用
检查
import sys
sys.path
如果是这个问题,你可以通过
解决
sys.path.insert(0, 'path/to/your/object_detection')
在python*./site-packages文件夹中,可以看到utils文件夹。
默认情况下,当我们 运行 "from utils import label_map_util" 时,它将尝试在 python.*/site-packages/utils 文件夹中搜索 label_map_util。
这个错误可以通过改变目录来解决
要么
将文件从 tensorflow/models/utils 复制到 python*.*/site-packages/utils
我也遇到过同样的问题。那是因为 string_int_label_map_pb2.py
文件不存在。
1.you 需要安装 protobuf
.
https://github.com/google/protobuf/releases
cd
你通往 object_detection
的道路
protoc object_detection/protos/string_int_label_map.proto --python_out=.
您将在 'object_detection\protos'
中找到 string_int_label_map_pb2.py
文件
- 没关系,如果还有问题,您可以将您的 object_detection 文件夹添加到
PYTHONPATH
。
您需要下载protoc 3.3版本(已编译)。在 bin 目录中使用 protoc 到 运行 这个命令,如下所示:
tensorflow$ mkdir protoc_3.3
tensorflow$ cd protoc_3.3
tensorflow/protoc_3.3$ wget wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ chmod 775 protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ unzip protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ cd ../models/research/
tensorflow/protoc_3.3$ /home/saikishor/tensorflow/protoc_3.3/bin/protoc object_detection/protos/*.proto --python_out=.
这有望奏效!!
我正在尝试 运行 object_detection.ipynb
类型的程序,但它是一个普通的 python 程序 (.py)。它工作得很好,但是当 运行 在 ..models/research/object_detection
文件夹中时,但主要问题是当我试图 运行 另一个目录中的这段代码时 sys.append
,我最终遇到以下错误:
Traceback (most recent call last):
File "obj_detect.py", line 20, in
from utils import label_map_util
ImportError: No module named utils
如果我试图将文件从 ..models/research/object_detection
文件夹导入到不同目录中的 python 程序,那么我最终会遇到更多错误,如下所示:
Traceback (most recent call last):
File "classify_image.py", line 10, in
import object_dt
File "/home/saikishor/Tensorflow_Models/models/research/object_detection/object_dt.py", line 18, in
from utils import label_map_util
File "/home/saikishor/Tensorflow_Models/models/research/object_detection/utils/label_map_util.py", line 22, in
from object_detection.protos import string_int_label_map_pb2
ImportError: No module named object_detection.protos
如何解决这个问题?
可能是您的 object_detection 文件夹不在您的路径中,所以 python 不知道到哪里寻找文件。
您可以在 python 中使用
检查import sys
sys.path
如果是这个问题,你可以通过
解决sys.path.insert(0, 'path/to/your/object_detection')
在python*./site-packages文件夹中,可以看到utils文件夹。 默认情况下,当我们 运行 "from utils import label_map_util" 时,它将尝试在 python.*/site-packages/utils 文件夹中搜索 label_map_util。
这个错误可以通过改变目录来解决 要么 将文件从 tensorflow/models/utils 复制到 python*.*/site-packages/utils
我也遇到过同样的问题。那是因为 string_int_label_map_pb2.py
文件不存在。
1.you 需要安装 protobuf
.
https://github.com/google/protobuf/releases
的道路cd
你通往object_detection
protoc object_detection/protos/string_int_label_map.proto --python_out=.
您将在 'object_detection\protos'
string_int_label_map_pb2.py
文件
- 没关系,如果还有问题,您可以将您的 object_detection 文件夹添加到
PYTHONPATH
。
您需要下载protoc 3.3版本(已编译)。在 bin 目录中使用 protoc 到 运行 这个命令,如下所示:
tensorflow$ mkdir protoc_3.3
tensorflow$ cd protoc_3.3
tensorflow/protoc_3.3$ wget wget https://github.com/google/protobuf/releases/download/v3.3.0/protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ chmod 775 protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ unzip protoc-3.3.0-linux-x86_64.zip
tensorflow/protoc_3.3$ cd ../models/research/
tensorflow/protoc_3.3$ /home/saikishor/tensorflow/protoc_3.3/bin/protoc object_detection/protos/*.proto --python_out=.
这有望奏效!!