此命令将预训练的 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
在这里插入图片描述

GitHub 加速计划 / ul / ultralytics
27.23 K
5.39 K
下载
ultralytics - 提供 YOLOv8 模型,用于目标检测、图像分割、姿态估计和图像分类,适合机器学习和计算机视觉领域的开发者。
最近提交(Master分支:2 个月前 )
e48a42ec Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> 4 天前
1790ca0f Co-authored-by: UltralyticsAssistant <web@ultralytics.com> Co-authored-by: Glenn Jocher <glenn.jocher@ultralytics.com> 4 天前
Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐