首页 > 其他分享 >YOLOv11模型在K230开发板部署过程记录

YOLOv11模型在K230开发板部署过程记录

时间:2024-12-02 23:29:33浏览次数:9  
标签:install nncase onnx K230 开发板 320 YOLOv11 pip 模型

       当您看到这篇文章时想必您已经完成了模型训练,这里以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

相关文章

  • YOLOv11改进,YOLOv11添加SAConv可切换空洞卷积,二次创新C3k2结构
    摘要作者提出的技术结合了递归特征金字塔和可切换空洞卷积,通过强化多尺度特征学习和自适应的空洞卷积,显著提升了目标检测的效果。理论介绍空洞卷积(AtrousConvolution)是一种可以在卷积操作中插入“空洞”来扩大感受野的技术,更有效地捕捉到图像中的大范围上下文信息......
  • 玩转RK3588开发板基于connector-split 功能实现多屏联动
     什么是多屏拼接显示?多屏拼接显示就是把几个显示器(比如MIPI屏幕、HDMI屏幕或者DP屏幕)拼接显示,把它们变成一个大屏幕。如会议室是拼接屏的主要应用场景之一。在会议室中,拼接屏可以用于显示会议议程、演示资料、视频会议等。拼接屏可以将多个屏幕拼接在一起,形成一个大屏幕,使得参......
  • 3.qemu模拟开发板
    qemu模拟开发板1.安装软件:sudoapt-getupdate#更新软件列表sudoapt-getinstallqemuqemu-kvmlibvirt-binbridge-utilsvirt-manager#加速下载2.开发板镜像下载:输入命令:适应虚拟机版本Ubuntu18.04......
  • YOLOv11原创改进专栏|注意力机制篇|ECA注意力机制手把手添加教程
    本文介绍:本专栏文章不会讲太复杂的定义,将从小白的角度去进行讲解,为大家节省时间,高效去做实验,文章将会简单介绍一下相关模块(也会附带相关论文链接,有兴趣可以阅读,可以作为论文文献),本专栏主要专注于YOLO改进实战!适用于小白入门也可以水论文,大佬跳过!!!文章适用人群:研一、准研究生(研......
  • 【K230 CanMV】图像识别-摄像头获取图像 Sensor 函数全解析
    引言:随着图像处理技术的不断发展,摄像头在嵌入式系统中的应用越来越广泛,尤其是在智能监控、自动驾驶、机器人视觉等领域。K230作为一款高性能的嵌入式处理器,提供了强大的图像处理能力,支持多种类型的摄像头接入与图像采集功能。在使用K230进行图像识别应用时,了解和掌握图像传感......
  • 基于米尔全志T527开发板的FacenetPytorch人脸识别方案
    本篇测评由优秀测评者“小火苗”提供。 本文将介绍基于米尔电子MYD-LT527开发板(米尔基于全志 T527开发板)的FacenetPytorch人脸识别方案测试。 一、facenet_pytorch算法实现人脸识别深度神经网络1.简介Facenet-PyTorch是一个基于PyTorch框架实现的人脸识别库。它提供......
  • 迅为RK3588S开发板多屏同显多屏异显多屏异触
          迅为电子RK3588S开发板最多可以支持7个屏幕显示,这主要取决于RK3588芯片内置了VOP控制器,支持四路视频同显或异显,可有效提高行业定制的拓展性。本章节我们将介绍在RK3588S 的Android12系统上实现多屏显示。 1.1Android多屏同显iTOP-RK3588S开......
  • Android11修改摄像头前后置方法,触觉智能RK3568开发板演示
    本文介绍在Android11系统下,修改摄像头前后置属性的方法。使用触觉智能EVB3568鸿蒙开发板演示,搭载瑞芯微RK3568,四核A55处理器,主频2.0Ghz,1T算力NPU;支持OpenHarmony5.0及Linux、Android等操作系统,接口丰富,开发评估快人一步!内核修改配置修改相关内核设备树文件以下配置:ov5648:ov56......
  • 【迅为电子】i.MX6UL和i.MX6ULL芯片区别与开发板对比
     成本与资源优化  i.MX6ULL相较于i.MX6UL主要优化了成本,且在IMX6UL的基础上进行了便捷的重用。主要功能差异包括:安全功能如CAAM/BEE/DryICE等为针对POS应用的高级安全功能已被裁剪,但基本安全功能如HAB仍然得到支持。此外,i.MX6ULL新增了多通道音频输入输出(ESAI),使其在音频支......
  • linux嵌入式开发板推荐(附学习资料)
    嵌入式系统无疑是当前最热门最有发展前途的IT应用领域之一,由于人才的缺乏,企业对于嵌入式工程师的需求量增大,薪资水平也较为可观。很多人选择嵌入式行业但不知道怎么入门,学习嵌入式,开发板是最离不开的了,今天华清的资深程序员就来给大家分享如何选择嵌入式开发板。 对于嵌入......