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
  1. cd 你通往 object_detection

    的道路

    protoc object_detection/protos/string_int_label_map.proto --python_out=.

您将在 'object_detection\protos'

中找到 string_int_label_map_pb2.py 文件
  1. 没关系,如果还有问题,您可以将您的 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=.

这有望奏效!!