Detectron2转ONNX报错:找不到onnx.optimizer模块
解决导入detectron2.export.caffe2_export时的
onnx.optimizer找不到问题 问题原因
onnx.optimizer模块在ONNX 1.13及后续版本中被移除,独立为onnxoptimizer包,而detectron2的caffe2_export模块仍依赖旧版ONNX的该模块,版本不兼容导致报错。
解决方案
方案1:安装兼容的旧版ONNX(优先推荐)
卸载当前ONNX,安装1.12.x版本:
pip uninstall -y onnx pip install onnx==1.12.0
方案2:安装独立onnxoptimizer包并修改源码(不推荐)
若需保留新版ONNX,可安装独立优化器包:
pip install onnxoptimizer
之后找到detectron2内部导入onnx.optimizer的文件,将导入语句修改为:
import onnxoptimizer as optimizer
此方法需改动detectron2源码,可能引发其他兼容问题,仅作为备选方案。
内容的提问来源于stack exchange,提问作者Eirini Kotzia
相关产品推荐
相关产品推荐

