首页 文章

来自utils import label_map_util导入错误:没有名为utils的模块

提问于
浏览
4

我正在尝试运行 object_detection.ipynb 类型的程序,但它是一个普通的python程序(.py) . 它运行得很好,但在 ..models/research/object_detection 文件夹中运行时,但主要问题是当我尝试在另一个目录中使用正确的 sys.append 运行此代码时,我最终得到以下错误:

Traceback(最近一次调用最后一次):文件“obj_detect.py”,第20行,来自utils import label_map_util
ImportError:没有名为utils的模块

如果我尝试将文件从 ..models/research/object_detection 文件夹导入到不同目录中的python程序中,那么我最终会遇到更多错误,如下所示:

Traceback(最近一次调用最后一次):导入object_dt中的文件“classify_image.py”,第10行
文件“/home/saikishor/Tensorflow_Models/models/research/object_detection/object_dt.py”,第18行,来自utils import label_map_util
文件“/home/saikishor/Tensorflow_Models/models/research/object_detection/utils/label_map_util.py”,第22行,来自object_detection.protos import string_int_label_map_pb2
ImportError:没有名为object_detection.protos的模块

如何解决这个问题?

4 回答

  • 0

    可能是你的object_detection文件夹不在你的路径上,所以python不知道在哪里查找文件 .

    你可以在python中查看这个

    import sys
    
    sys.path
    

    如果这是问题,你可以解决它

    sys.path.insert(0, 'path/to/your/object_detection')
    
  • 4

    在python * . / site-packages文件夹中,您可以看到utils文件夹 . 默认情况下,当我们运行"from utils import label_map_util"时,它将尝试在python . * / site-packages / utils文件夹中搜索label_map_util .

    通过更改目录或将文件从tensorflow / models / utils复制到python * . * / site-packages / utils可以解决此错误

  • 0

    我见过同样的问题 . 那是因为 string_int_label_map_pb2.py 文件不存在 .

    1.你需要安装 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 .
  • 0

    您需要下载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=.
    

    这将有希望工作!!

相关问题