在Google Drive部署TensorFlow Object Detection API后运行测试脚本报错
解决TensorFlow Object Detection模块找不到的问题
问题重现
已将TensorFlow models仓库克隆到Google Drive的/content/drive/MyDrive/project/models/research路径,执行以下操作后运行测试脚本仍报错:
- 通过以下代码添加路径:
import sys nb_path = '/content/drive/MyDrive/project/lib' sys.path.insert(0, nb_path)
- 执行安装命令:
!python -m pip install --target=$nb_path .
- 直接运行测试脚本:
%cd /content/drive/MyDrive/project/models/research !python object_detection/builders/model_builder_tf2_test.py
报错信息:
Traceback (most recent call last): File "object_detection/builders/model_builder_tf2_test.py", line 24, in <module> from object_detection.builders import model_builder ModuleNotFoundError: No module named 'object_detection'
注:在Python环境中执行sys.path.append('/content/drive/MyDrive/project/lib')后能正常导入模块,但直接运行脚本不行。
解决方案
方法1:运行脚本时临时指定环境变量
执行测试脚本时,通过PYTHONPATH明确指定模块搜索路径,命令修改为:
%cd /content/drive/MyDrive/project/models/research !PYTHONPATH="/content/drive/MyDrive/project/lib:$PYTHONPATH" python object_detection/builders/model_builder_tf2_test.py
方法2:修改测试脚本头部添加路径
直接在model_builder_tf2_test.py的开头插入以下代码,手动将模块路径加入Python搜索路径:
import sys sys.path.append('/content/drive/MyDrive/project/lib')
方法3:永久配置环境变量(Colab环境)
在Colab中执行以下命令,将路径写入环境配置文件,后续所有脚本均可自动识别:
!echo "export PYTHONPATH=/content/drive/MyDrive/project/lib:\$PYTHONPATH" >> ~/.bashrc !source ~/.bashrc
配置完成后再运行测试脚本即可。
内容的提问来源于stack exchange,提问作者groot
相关产品推荐
相关产品推荐

