自定义数据训练的rknn模型部署 踩坑记录

RKNN:让机器学习更高效 RKNN,全称Recurrent Kernel Neural Network,是一种新型的神经网络模型,具有高效、可解释性强等特点,被广泛应用于自然语言处理、计算机视觉等领域。未来可以在模型优化、硬件加速、预训练与迁移学习、多模态融合、隐私保护、可解释性与鲁棒性、跨语言与跨文化应用以及智能化应用等方面进行深入研究和发展,以推动RKNN在各个领域的广泛应用和发展。在RKNN中,每个神经元只与输入数据的一个局部区域相连,这大大减少了模型的参数数量,提高了模型的泛化能力。三、RKNN的应用场景。 阅读详情
AI摘要

探讨了将Yolov8模型部署到RKNN平台时遇到的类别数调整和量化参数影响,强调转换时数据集一致性的重要性。,

自己训练了一个只有2种类别的yolov8模型之后,部署到瑞芯微RKNN。

踩坑一:类别的变化

之前用COCO数据集训练的.pt模型转rknn后,output0的shape为8400 x 176.
而把自定义数据集训练的模型转rknn后,output0的shape为8400 x 98.
为什么会不一样?一度以为模型或代码有问题,拿图片测了下发现模型没问题,能检测出来。

分析一下8400x176,其中8400是proposal的个数,176是box相关的64+80个类别+32的mask coefficient.
现在类别变成了2,自然要变成64+2+32=98.

所以,如果后处理中用到类别数=80,画图中的类别标签用了80个的,这里需要修改一下。

踩坑二:模型转化(.pt 转 .rknn)

用转化后的rknn模型检测,只能检测出一种类别,另一种检测不出来。

于是从后处理出发找原因,
现输入图片中有两种物体,每种一个,理论上应该检测出2个物体。
先看NMS之前检测了多少个物体。

std::vector<int> picked;
nms_sorted_bboxes(proposals, picked); //picked里面保存的是proposals的下标

int count = picked.size();

这里NMS之前 picked.size() = 1, 说明NMS之前就只检测出一个,已经不对了。

回到NMS之前的处理,
这里选择较大概率的类别作为label,保存label, score和box坐标。

int label = -1;
float score = -FLT_MAX;
//找到最大score和对应的label
for (int k = 0; k < num_class; k++) {
   
   
    float confidence = deqnt_affine_to_f32(score_ptr[k], zp,
                                           scale);  //反量化
RKNN模型部署(3)—— 模型转换与测试 将pth模型转换成rknn模型,然后调用rknn模型进行测试 阅读详情

相关推荐

关于yolov5模型转换为rknn

关于yolov5模型转换为rknn的相关流程和问题记录

weixin_44220689的博客 3697

瑞芯微RK3576部署YOLOv8分割模型实战:从ONNX到RKNN全流程踩坑记录

边缘计算设备上部署实例分割模型,一直是AI工程化落地的关键环节。YOLOv8系列作为主流检测模型,通过增加掩码分支实现了端到端的实例分割能力,但将PyTorch格式的模型迁移到瑞芯微NPU平台并非易事。本文以RK3576芯片为硬件基础,系统梳理了从模型导出ONNX、INT8量化、RKNN转换到板端C++推理的完整技术链路。整个过程中,合理配置RKNN-Toolkit2参数、校准数据集选取以及预处理对齐是保证模型精度不掉点的核心要素。同时,针对板端NPU驱动的环境搭建、后处理中mask系数与proto mas

weixin_32025789的博客 253

RKNN-Toolkit模型转换与边缘部署实战:从踩坑到精通

在边缘计算场景中,将训练好的深度学习模型部署到NPU上推理是实现低功耗、高算力AI应用的关键。模型转换作为连接训练框架与硬件加速器的桥梁,其核心原理是通过量化、算子适配等手段,将FP32模型压缩为INT8格式,以匹配NPU的有限算子支持与高能效要求。这一过程的技术价值在于平衡精度与速度,直接影响边缘设备的推理性能与落地效果。典型应用场景包括智能安防、工业质检、自动驾驶等实时检测任务。然而,转换链路中版本匹配、量化校准、算子兼容性等细节常成为工程实践的瓶颈。本文基于RKNN-Toolkit,系统梳理从模型转换

weixin_34037515的博客 235

模型量化实战:从原理到RKNN部署的完整指南

本文提供了一份从模型量化原理到RKNN部署的完整实战指南。详细解析了模型量化的核心概念、量化方法选择,并手把手演示了如何使用RKNN-Toolkit2将ONNX模型转换为高效的.rknn格式,最终在瑞芯微开发板上完成部署与性能优化,帮助开发者将AI模型高效运行于嵌入式设备。

weixin_29166013的博客 441

【RKNN】RKNN(Rockchip Neural Network)​​ 的详解

RKNN 为 Rockchip 硬件提供了高效的 AI 推理解决方案,适合需要低功耗、实时响应的边缘场景

浩瀚之水的专栏 1683

【传感器标定(三):激光雷达标定原理与实现详解】

本文系统介绍了激光雷达标定的基本原理与方法。主要内容包括:激光雷达标定的分类(内参标定和外参标定)、坐标系定义和刚体变换数学基础;详细阐述了测距误差和光束方向两种内参标定方法;重点分析了基于目标(平面标定板、三维标定物)和基于运动(手眼标定、点云配准)的外参标定方法;介绍了多传感器联合标定技术及非线性优化、鲁棒标定等实现方法;最后提出了定量和定性两种标定评估体系。为激光雷达在自动驾驶等领域的精确应用提供了系统的标定技术指导。

weixin_47429781的博客 3786

【低轨】Starlink星链-Ku波段下行信号信号结构解析

Starlink播发位于10.7~12.7GHz之间的下行信号,该信号的设计意图是用于宽带网络通信,但是,文章通过对该信号信号体制的详细分析,以及解调出所调制的完整码序列,为利用Starlink信号进行定位解算提供了必要条件。(注,码序列对应的是卫星版本0.9,1.0和1.5)

iseeinvisible的博客 6295

ROG幻16Air新机避坑:Ubuntu 22.04下NVIDIA驱动、CUDA与Isaac Gym的兼容性实战

本文详细记录了在ROG幻16Air新机上安装Ubuntu 22.04,并成功配置NVIDIA驱动、CUDA与Isaac Gym强化学习开发环境的完整实战过程。针对官方文档未明确支持Ubuntu 22.04的挑战,文章提供了从驱动安装、CUDA版本选择、Python虚拟环境搭建到Isaac Gym兼容性调试的一站式解决方案,帮助开发者在新硬件上高效部署机器人仿真与训练平台。

weixin_28419039的博客 219

本地部署DeepSeek连接MATLAB:打造私有化AI编程助手全攻略

大型语言模型(LLM)通过理解自然语言生成代码、解释技术概念,其核心原理是基于海量数据训练的Transformer架构。这项技术为工程计算和数据分析带来了效率革命,尤其在代码生成、调试辅助和文档自动化等场景价值显著。开源模型如DeepSeek-coder凭借优秀的代码理解能力,结合Ollama提供的本地化部署方案,实现了完全离线、低延迟的私有化部署。通过配置国内镜像加速下载,并利用MATLAB内置的HTTP通信函数构造API请求,工程师可以在熟悉的MATLAB环境中直接调用本地模型,处理数据清洗、算法验证等

weixin_30239339的博客 516

Mac上IDEA的PlantUML插件报错‘找不到Graphviz’?手把手教你用Homebrew搞定(附阿里云镜像避坑)

本文详细解决了Mac上IDEA的PlantUML插件报错‘找不到Graphviz’的问题,通过Homebrew安装Graphviz并配置阿里云镜像源,特别针对Apple Silicon芯片用户提供了优化方案。文章还涵盖了IDEA中PlantUML插件的正确配置和常见问题排查,帮助开发者高效使用PlantUML进行UML图表设计。

weixin_42619742的博客 467

2025年下半年网络规划设计师综合知识真题及答案解析

1983年,ARPANet完成技术转型,对此后的 Internet发展全关重要,这一转型是指( ) A.电路交换转向分组交换 B.商业化转型 C.民用化转型 D.从 NCP 协议转向 TCP/IP 答案:D 解析:ARPANet 最初使用 NCP (Network Control Protocol)协议进行主机问通信。1983年1月1日,ARPANet 正式切换到TCP/IP 协议族,为后续Internet的发展奠定了统一协议基础。

鹿鸣天涯 921

自主探索型AI Agent:LLM驱动的好奇心与学习动机

随着人工智能技术的飞速发展,传统的AI系统往往依赖于预设的规则和大量的标注数据,其自主学习和适应新环境的能力有限。自主探索型AI Agent旨在打破这种局限,能够在复杂、未知的环境中自主地进行探索、学习和决策。本文的目的是深入研究在大语言模型(LLM)驱动下,AI Agent如何产生好奇心和学习动机,以及如何实现自主探索的能力。范围涵盖了核心概念、算法原理、数学模型、项目实战、应用场景等多个方面,为读者提供一个全面的技术视角。本文将按照以下结构进行阐述:首先介绍相关背景知识,包括目的、读者和文档结构;

大模型应用工坊 997

Seurat-SCTransform与harmony整合学习

源于R tips:Seurat之SCTransform方法原理 (qq.com)Seurat对象在经过SCTransform处理后会增加一个SCT的Assay,里面的scaled.data就是经过scale之后的pearson residual值,这个值是用于后续降维聚类分析使用的。

hx2024的博客 2330

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

上一篇: few shot object detection via feature reweight笔记
下一篇: Mask Free VIS笔记(CVPR2023 不需要mask标注的实例分割)
蓝羽飞鸟
博客等级 码龄8年 1万+粉丝 727原创
评论 2
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

蓝羽飞鸟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值