Ubuntu20.04 系统
yolov5 5.0 训练标注的数据集,生成best.pt模型权重
labelImg软件:用来标注数据集
cuda11.3 Python3.7
需要配置yolov5环境的,请点击以下链接:
一、为什么要转换生成的模型文件
用Pytorch生成的.pt模型需要先将将模型转换成onnx模型(.onnx)之后再通过onnx模型转化成ncnn模型(.bin .param)才能部署在手机端(安卓、IOS)
移动端的部署有这么几条路:
1. pt文件 --> onnx文件/torchscript文件 --> ncnn --> 安卓端部署(android studio编写)
2. pt文件 --> onnx文件/torchscript文件 --> ML文件 --> ios端部署(mac系统运行xcode编写)
3. pt文件 --> onnx文件 /torchscript文件/wts文件–> openvino/tensorrt 等部署平台 --> 树莓派/jetson部署(最好在linux环境下)
二、开始安装
-
安装依赖库
第一步在yolov5-master下进入终端:
1. 激活你的yolo环境
conda activate yolo
pip3 install -r requirements.txt onnx -i https://pypi.douban.com/simple
2.导出 onnx
python export.py --weights best.pt --include onnx --img 640 --batch 1
报错:requirements: onnx not found and is required by YOLOv5, attempting auto-update...
解决方法:
conda install -c anaconda protobuf
在best.pt 的同级目录生成了 best.onnx、best.mlmodel 和 best.torchscript.pt三个文件。
可以使用netron查看best.onnx模型结构。
# 在终端运行
- pip install netron -i https://pypi.douban.com/simple
- python
- import netron
- netron.start('best.onnx')
3.用onnx-simplifer 简化模型
python -m onnxsim best.onnx best-sim.onnx
参考文章:
yolov5笔记(3)——移动端部署自己的模型(随5.0更新)
评论记录:
回复评论: