此命令将预训练的 YOLOv3模型(默认yolov3.pt,或者yolov3-tiny.pt)导出为 ONNX、TorchScript 和 CoreML
格式。
python models/export.py --weights weights/yolov3.pt --img 640 --batch 1
输出:
3 个导出的模型(yolov3.mlmodel , yolov3.onnx , yolov3.torchscript.pt
)将与原始 PyTorch 模型一起保存
python detect.py --weights weights/yolov5s.onnx --view-img
速度慢
推荐使用Netron Viewer来可视化导出的模型,显示网络结构:
python
import netron
netron.start('yolov3.onnx')
五,简化onnx文件
1.安装简化器
pip install onnx-simplifier
2.执行指令
python -m onnxsim onnx_inputpath onnx_outputpath
python -m onnxsim yolov3-tiny.onnx yolov3-tiny-sim.onnx(tiny版)
六、onnx转换为 ncnn 模型
~/ncnn/build/tools/onnx$ onnx2ncnn yolov3-tiny-sim.onnx yolov3-tiny-sim.param yolov3-tiny-sim.bin
ncnnoptimize优化:
用 ncnnoptimize 过一遍模型,顺便转为 fp16 存储减小模型体积,两种都OK一样。
$ ncnnoptimize yolov5s.param yolov5s.bin yolov5s-opt.param yolov5s-opt.bin 65536
$ ncnnoptimize yolov5s.param yolov5s.bin yolov5s-opt.param yolov5s-opt.bin 1
其中最后的flag 如果是0指的的是fp32,如果是1指的是fp16
版权声明:本文为W1995S原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。