我正在尝试运行 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 回答
可能是你的object_detection文件夹不在你的路径上,所以python不知道在哪里查找文件 .
你可以在python中查看这个
如果这是问题,你可以解决它
在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.你需要安装
protobuf
.cd
你的object_detection
的路径protoc object_detection / protos / string_int_label_map.proto --python_out = .
你会在
'object_detection\protos'
找到string_int_label_map_pb2.py
文件PYTHONPATH
.您需要下载protoc版本3.3(已编译) . 在bin目录中使用protoc来运行此命令,如下所示:
这将有希望工作!!