Azure ML计算实例运行TensorFlow目标检测API遇ModuleNotFoundError: 'matplotlib_inline'问题求助
解决Azure ML计算实例上TensorFlow Object Detection API的
matplotlib_inline缺失问题 看起来你遇到的问题核心大概率是环境不匹配或者依赖安装的路径错位,结合你给出的错误日志和环境信息,我整理了几个针对性的解决方案:
1. 先排查Python环境的一致性(最可能的根源)
从错误日志里能看到,脚本实际运行的是Python3.6(路径/anaconda/envs/azureml_py36/lib/python3.6/),但你明确说自己用的是Python3.8.1——这说明你当前激活的conda环境和预期的完全不匹配!
- 先执行命令查看当前激活的环境:
conda info --envs - 切换到你安装了Python3.8.1的conda环境(比如你的目标环境名叫
tf_gpu_38,就执行conda activate tf_gpu_38) - 在正确的环境下重新安装所有依赖:
pip install tensorflow matplotlib matplotlib-inline pycocotools
2. 强制重新安装matplotlib-inline
有时候依赖安装会出现缓存或部分损坏的情况,强制重新安装可以修复这类问题:
pip install --force-reinstall matplotlib-inline
执行前一定要确保已经激活了正确的Python3.8环境。
3. 切换Matplotlib的无界面后端
Azure ML计算实例通常没有图形界面,默认的Matplotlib后端可能依赖matplotlib_inline导致报错,你可以强制使用无界面后端规避这个问题:
- 方式一:运行训练脚本前设置环境变量
export MPLBACKEND=Agg python Tensorflow/models/research/object_detection/model_main_tf2.py --model_dir=Tensorflow/workspace/models/my_ssd_mobnet --pipeline_config_path=Tensorflow/workspace/models/my_ssd_mobnet/pipeline.config --num_train_steps=2000 - 方式二:在训练脚本开头临时修改
在model_main_tf2.py的最顶部添加:import matplotlib matplotlib.use('Agg')
4. 确保TensorFlow Object Detection API正确安装到当前环境
如果你是手动克隆TensorFlow Models仓库的,可能API没有正确安装到你当前使用的Python3.8环境中,需要重新执行安装步骤:
cd Tensorflow/models/research protoc object_detection/protos/*.proto --python_out=. cp object_detection/packages/tf2/setup.py . python -m pip install .
同样要确保在正确的Python3.8环境下执行这些命令。
内容的提问来源于stack exchange,提问作者fendrbud
相关产品推荐
相关产品推荐

