yolov5部署1——pytorch->onnx
目标:pytorch->onnx->ncnn->android
一,环境部署
代码来自:https://github.com/ultralytics/yolov5
在训练完yolov5模型后,在yolov5主目录下打开终端,输入:
pip3 install onnx>=1.7.0 # for ONNX export
pip3 install coremltools==4.0 # for CoreML export
二,pytorch->onnx转化
1.输入指令
python models/export.py --weights yolov5s.pt --img 640 --batch 1 # export at 640x640 with batch size 1
出现问题如图
原因:export.py文件太深,调出来就行
修改指令:
python3 export.py --weights weights/yolov5s.pt --img 640 --batch 1
结果如图:
三,查看文件
生成三个文件:yolov5s.mlmodel , yolov5s.onnx , yolov5s.torchscript.pt
四,Netron查看网络结构
1.安装netron
pip3 install netron
2.使用netron看图
在有.onnx文件的文件夹下打开终端
python3
import netron
netron.start('yolov5s.onnx')
如图:
会打开浏览器,如图:
显示网络结构
五,简化onnx文件
1.安装简化器
pip3 install onnx-simplifier
2.执行指令
python3 -m onnxsim onnx_inputpath onnx_outputpath
简化后就可以进行onnx->ncnn的操作了