运行TensorFlow目标检测脚本无法导入model_lib_v2问题求助
你的判断是正确的。
Python 模块搜索优先级默认依次为「当前脚本所在目录」「PYTHONPATH 环境变量指定目录」「Python 安装目录下的 site-packages 目录」,你系统 site-packages 内的 object_detection 包缺失 model_lib_v2.py 文件,因此触发导入报错。
解决方法
方案1:临时生效(仅当前命令行窗口有效)
在项目根目录(RealTimeDetection 文件夹)打开命令提示符,先执行路径设置命令:
set PYTHONPATH=C:\Users\lais\Desktop\SP\CIOT\projects\RealTimeObjectDetection\Tensorflow\models\research;C:\Users\lais\Desktop\SP\CIOT\projects\RealTimeObjectDetection\Tensorflow\models\research\slim;%PYTHONPATH%
再运行你的训练命令即可。
方案2:脚本内自动注入路径
在你运行的 model_main_tf2.py 文件最开头添加以下代码,直接将本地路径提升到最高搜索优先级:
import sys import os research_path = r"C:\Users\lais\Desktop\SP\CIOT\projects\RealTimeObjectDetection\Tensorflow\models\research" slim_path = os.path.join(research_path, "slim") sys.path.insert(0, research_path) sys.path.insert(0, slim_path)
方案3:永久配置系统环境变量
- 右键「此电脑」→「属性」→「高级系统设置」→「环境变量」
- 在系统变量栏新建名为
PYTHONPATH的变量,添加以下两个路径:
C:\Users\lais\Desktop\SP\CIOT\projects\RealTimeObjectDetection\Tensorflow\models\researchC:\Users\lais\Desktop\SP\CIOT\projects\RealTimeObjectDetection\Tensorflow\models\research\slim
- 保存后重启所有命令行窗口即可永久生效。
如果不需要全局使用 object_detection 包,也可以卸载 site-packages 中的版本避免后续混淆:
pip uninstall tensorflow-object-detection-api
内容的提问来源于stack exchange,提问作者Lutfi Lais
相关产品推荐
相关产品推荐

