Yolov5模型导出实战:从export.py到ONNX的高效转换指南

1. 环境准备与依赖安装:别在第一步就踩坑

很多朋友在尝试导出YOLOv5模型时,第一步就卡住了。网上搜到的教程五花八门,有的让你装这个库,有的让你改那个环境,照着做了一通,最后import torch都报错,模型转换更是无从谈起。我刚开始也在这上面浪费了不少时间,后来发现,最稳的方法就是回归YOLOv5项目本身。它自带的export.py脚本已经为我们封装好了绝大部分流程,我们需要做的,就是为它准备好一个“舒适”的运行环境。

首先,你得有一个能正常训练YOLOv5模型的环境。如果你已经用自己的数据训练好了.pt权重文件,那说明你的基础PyTorch环境是没问题的。接下来,转换模型需要一些额外的依赖。关键就在这里:YOLOv5项目根目录下的requirements.txt文件,默认把模型转换相关的依赖(比如onnxcoremltools等)都给注释掉了。这是为了防止用户在只想做训练或推理时,安装一堆不必要的包。

所以,我们的第一步是“解注释”。用任何文本编辑器打开requirements.txt,你会看到类似下面这样的行:

# export
# coremltools>=4.1  # CoreML export
# onnx>=1.10.0  # ONNX export
# onnx-simplifier>=0.3.6  # ONNX simplifier
# nvidia-pyindex  # TensorRT export
# nvidia-tensorrt  # TensorRT export
# scikit-learn<=1.1.2  # CoreML quantization
# tensorflow>=2.4.0  # TFLite export
# tensorflowjs>=3.9.0  # TF.js export

你需要根据自己想导出的格式,取消对应行的注释。比如,我们这次的目标是ONNX,那么至少需要确保onnx>=1.10.0onnx-simplifier>=0.3.6这两行前面的#号被去掉。如果你还打算后续尝试TensorRT加速,也可以把nvidia-pyindexnvidia-tensorrt的注释去掉。我个人的习惯是,把export区块下所有格式的依赖都先打开,一次装全,免得以后换格式又要折腾一遍环境。

依赖文件修改好后,在终端进入YOLOv5项目目录,执行安装命令:

pip install -r requirements.txt

这里有个小坑需要注意。如果你的基础环境是通过conda管理的,最好在conda环境里用pip安装,避免包管理器冲突。安装过程如果遇到某个包版本冲突,可以尝试先单独安装指定版本,比如pip install onnx==1.13.0。安装完成后,强烈建议验证一下核心库:在Python环境下执行import onnximport onnxsim,不报错就说明基础环境OK了。

2. 核心转换:玩转export.py的参数

环境搞定,我们就可以直面

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值