当您看到这篇文章时想必您已经完成了模型训练,这里以YOLOv11训练出来的pt模型为例给出模型在K230开发板的部署流程
环境:windows11,ubuntu20.04(已安装python,pip),nncase2.9.0,K230开发板
1、模型转换
将pt格式转化为onnx格式以便使用nncase工具链进行模型转换
from ultralytics import YOLO
# 加载一个模型,路径为 YOLO 模型的 .pt 文件
model = YOLO("ultralytics-main/runs/detect/train11/weights/best.pt")
# 导出模型,设置多种参数
model.export(
format="onnx", # 导出格式为 ONNX
imgsz=(320, 320), # 设置输入图像的尺寸
keras=False, # 不导出为 Keras 格式
optimize=True,
int8=True, # 启用 INT8 量化
dynamic=False, # 不启用动态输入尺寸
simplify=True, # 简化 ONNX 模型
opset=None, # 使用最新的 opset 版本
workspace=4.0, # 为 TensorRT 优化设置最大工作区大小(GiB)
nms=True, # 不添加 NMS(非极大值抑制)
batch=1 # 指定批处理大小
)
2、得到onnx模型文件
验证模型
进入Netron导入生成后的模型:
单击images
得知模型信息float32[1,3,320,320](批次,通道,模型输入图片高,模型输入图片宽)
3、打开Linux虚拟机(笔者版本为Ubuntu20.04)依照
5. YOLO 大作战 — CanMV K230的7.4配置环境
# linux平台:nncase和nncase-kpu可以在线安装,nncase-2.x 需要安装 dotnet-7
sudo apt-get install -y dotnet-sdk-7.0
pip install --upgrade pip
#nncase版本应与k230烧录镜像版本严格一致
pip install nncase==2.9.0
pip install nncase-kpu==2.9.0
#若部署平台为k210nncase与nncase-kpu版本应为1.x
# 除nncase和nncase-kpu外,脚本还用到的其他库包括:
pip install onnx
pip install onnxruntime
pip install onnxsim
4、下载脚本工具并解压
yolo_files
大致结构
5、准备验证集到Linux虚拟机中
笔者将训练时的val图片复制到虚拟机项目内(具体需要多少张我也不知道我准备了88张)
6、模型转换
由于我们训练的模型是目标监测模型,所以我们需要打开detect文件夹,将其中的to_kmodel复制到Linux环境中
查看操作命令由于我的模型输入为1,3,320,320所以不用输入input_width
得出指令如下python to_kmodel.py -–model best.onnx –dataset images(验证集目录)
无视警告
等待编译完成
7、效果测试
Kmodel测试结果
标签:install,nncase,onnx,K230,开发板,320,YOLOv11,pip,模型 From: https://blog.csdn.net/qq_61197032/article/details/144200967