tensorflow_object_detection_api安装异常:无法导入DetectorAPI类求助
TensorFlow Object Detection API 安装及导入问题解决思路
1. 弃用PyPI上的无效占位包
你通过pip安装的tensorflow_object_detection_api==0.1.1是个空包——PyPI上的这个版本只有dist-info文件夹,没有任何实际代码,完全起作用。先卸载:
pip uninstall tensorflow_object_detection_api
之后别再用pip安装这个包,官方从未将Object Detection API上传到PyPI平台。
2. 正确安装官方GitHub仓库版本
从GitHub拉取官方仓库后,必须完成本地构建才能正常使用:
- 进入仓库的
research目录(比如克隆后的models/research路径) - 先安装依赖:
pip install -r requirements.txt - 编译Protobuf文件(API核心依赖组件):
protoc object_detection/protos/*.proto --python_out=. - 选择一种方式让Python识别API:
- 临时生效(每次打开终端都需要执行):
export PYTHONPATH=$PYTHONPATH:`pwd`:`pwd`/slim - 永久安装到site-packages(推荐,无需每次设置环境变量):
python setup.py install
- 临时生效(每次打开终端都需要执行):
3. DetectorAPI 找不到的核心原因
DetectorAPI不是官方API自带的类,它是很多教程或第三方项目中自定义的封装类,用来简化官方API的调用流程。解决办法:
- 如果是跟着特定教程操作,回去查找教程里的DetectorAPI代码文件,将其复制到你的项目目录中
- 自行封装的话,可参考官方基础检测流程:
- 使用
tf.saved_model.load()加载导出的模型文件 - 将输入图像转换为模型要求的尺寸、数据类型
- 调用模型的推理函数获取检测结果
- 解析结果中的检测框、类别、置信度等信息
- 使用
4. 验证官方API安装是否成功
运行官方测试脚本确认基础功能正常:
python object_detection/builders/model_builder_tf2_test.py
如果测试通过,说明官方API安装无误,找不到DetectorAPI仅为自定义类缺失的问题。
内容的提问来源于stack exchange,提问作者user25184888
相关产品推荐
相关产品推荐

