赞
踩
在我们训练完模型后,对应版本yoloV5-6.1,在run/train/exp..文件夹下会生成我们训练好的权重文件,即best.pt和last.pt,其中best.pt就是我们要转的权重文件
因为yolo自带了export.py,即可以直接运行export.py来转onnx,因此只需要运行如下代码:
python export.py --weights best.pt --img 640 --batch 1
需要注意的是,如果你是yoloV5-5.0,则export.py在models文件夹下
为了转换方便起见,你可以将run文件夹下的best.pt复制到主目录下,方便路径识别,然后就可以运行了。
本人在刚开始报错是:No Module named onnx,这是因为版本与6.0要求的版本不一致或者太高,因为我们在export的py文件中,关于转onnx开头就是:
其中check就是检查版本是否满足requirements中所要求的onnx>=1.9.0,但版本过高也会存在与其他库不兼容的问题,因此建议更新临近的版本,先卸载已有的版本,运行
pip uninstall onnx
然后运行:
pip install onnx==1.10.0
安装我们所需要的版本,然而我在重新安装了之后,继续报错:
根据报错信息显示我们的protoc版本太低了,需要大于3.19.0,因此执行:
pip uninstall protobuf
然后安装:
pip install protobuf==3.19.0
最后,运行之前的代码:
python export.py --weights best.pt --img 640 --batch 1
至此就转换成功啦,后续可以在Netron中查看是否转换成功,为后续的部署做准备
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。