踩坑RV1106板端部署rknn模型

news2025/1/16 3:32:39

文章目录

  • 1、交叉编译
  • 2、板上跑通
  • 3、验证自己模型

1、交叉编译

官方给的一个流程: RKNN 模型推理测试为了避免踩坑在开头提出来

按照官方的流程可以跑通,他自己提供的yolov5s.rknn(640*640)的模型,但是跑自己的模型的时候加载就会出错E RKNN: failed to decode config data!Segmentation fault (core dumped),应该是这个地址的链接版本太老了,并且给出来的demo预处理也没有使用librga做硬件加速,直接跳过,官方也给出来了说这个github链接不在维护(https://github.com/rockchip-linux/rknpu2)
在这里插入图片描述

官方最新地址: rknn-toolkit2
所有实例程序就都在这里了
工具包库: rknn_model_zoo
下载下来
在这里插入图片描述

交叉编译需要先安装 LuckFox Pico SDK

git clone https://gitee.com/LuckfoxTECH/luckfox-pico.git
Pico SDK:https://github.com/LuckfoxTECH/luckfox-pico/

在 rknn_model_zoo目录下我们现在对这些例程进行交叉编译,编译例程前需要设置如下环境变量:

export RK_RV1106_TOOLCHAIN=<SDK目录>/tools/linux/toolchain/arm-rockchip830-linux-uclibcgnueabihf/bin/arm-rockchip830-linux-uclibcgnueabihf

# 这个SDK目录目录就是你刚才Pico SDK放的地址

cmake要求必须大于3.15,不满足自行百度解决

chmod a+x ./build-linux.sh
./build-linux.sh -t rv1106 -a armv7l -d yolov5

-t : target (rk356x/rk3588/rv1106)
-a : arch (aarch64/armhf)
-d : demo name
-b : build_type(Debug/Release)
-m : enable address sanitizer, build_type need set to Debug

编译完成之后会在当前目录下生成一个install目录进入里面就可以找到编译出来的程序和库和模型文件
在这里插入图片描述

2、板上跑通

通过adb,将库和model下的文件文件都推上去
在这里插入图片描述在这里插入图片描述

# 跑通官方模型
./rknn_yolov5_demo ./model/exp415_best.onnx_sim_new1.rknn ./model/car_1012.jpg

# 通过adb将图片从板子上取出来
adb pull /root/yolov5/out.jpg .

可以看到没有任何问题,但是这就是最大的问题
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3、验证自己模型

如果直接拿自己的模型不修改代码,直接推理,会出现这种报错,就是类别没有对上
在这里插入图片描述

从原本80修改成实际类别数,还有板上model目录下的coco_80_labels_list.txt文件也需要修改成你的类别名
在这里插入图片描述
进行推理

# 我的模型输出
model input height=224, width=384, channel=3

在这里插入图片描述

推理出来的结果就是这样子了
在这里插入图片描述
这个文件就是源码里面埋了很大一个坑,取反了,模型输入要求是NHWC,但是他将h取到w上面了,所以出现错乱,为什么官方自己的模型没问题推理是正常的,因为官方的是640*640,高宽尺寸是一致的,所以没有出现这个bug
在这里插入图片描述
修改之后再次验证正常了
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1340740.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

SAP VA01 创建带wbs号的销售订单包 CJ067的错误

接口错误提示如下 SAP官方 CJ067 124177 - VA01: CJ067 during WBS acct assgmt with a different business area S4的core 刚好能用上 实施 这个note后成功

「Kafka」生产者篇

「Kafka」生产者篇 生产者发送消息流程 在消息发送的过程中&#xff0c;涉及到了 两个线程 ——main 线程和Sender 线程。 在 main 线程中创建了 一个 双端队列 RecordAccumulator。 main线程将消息发送给RecordAccumulator&#xff0c;Sender线程不断从 RecordAccumulator…

多线程编程(三)互斥量

因为他继承于QObject类所以需要构造函数和析构函数。 有几个人就创建几个线程。

【SAM系列】Auto-Prompting SAM for Mobile Friendly 3D Medical Image Segmentation

论文链接&#xff1a;https://arxiv.org/pdf/2308.14936.pdf 核心&#xff1a; finetune SAM,为了不依赖外部prompt&#xff0c;通过将深层的特征经过一个编-解码器来得到prompt embedding&#xff1b;finetune完之后做蒸馏

Visual Studio Code安装下载及安装自用版

Visual Studio Code安装下载及安装自用版 vscode 我愿称之为最强&#xff0c;赶紧下载吧&#xff0c;用起来再说。微软牛逼。 安装过程也非常简单。 一、下载 Visual Studio Code下载地址 1.选择要下载的客户端的版本&#xff0c;直接下载稳定版的 注意&#xff1a; 下载后&…

OpenEular23.09(欧拉)操作系统为企业搭建独立的K8S集群环境,详细流程+截图

1.环境&#xff1b; win10&#xff0c;vmware16 pro&#xff0c;openeular23.09 集群模式&#xff1a;一主二从 主机硬件配置 主机名IP角色CPU内存硬盘k8s-master01192.168.91.100master4C4G40Gk8s-worker02192.168.91.101worker(node)4C4G40Gk8s-worker03192.168.91.102work…

Matlab:非线性规划

1、语法&#xff1a; xfmincon(fun,x0,A,b) xfmincon(fun,x0,A,b,Aeq,beq) xfmincon(fun,x0,A,b,Aeq,beq,lb,ub) xfmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon) xfmincon(fun,x0,A,b,Aeq,beq,lb,ub,nonlcon,options) xfmincon(problem) [x,fval]fmincon(___) [x,fval,exitflag,…

如何在Mac中设置三指拖移,这里有详细步骤

三指拖移手势允许你选择文本&#xff0c;或通过在触控板上用三指拖动窗口或任何其他元素来移动它。它可以用于快速移动或调整窗口、文件或图像在屏幕上的位置。 然而&#xff0c;这个手势在默认情况下是禁用的&#xff0c;因此在本教程中&#xff0c;我们将向你展示如何在你的…

掌汇云 | 公司库聚合企业,为垂直领域提供产品与服务展示窗口

11月29日晚&#xff0c;拼多多美股盘中市值首次超越阿里巴巴。拼多多是赢了&#xff0c;但也有人说阿里未必就输了&#xff0c;因为阿里拼的是整个阿里生态。 阿里生态使其庞大且屹立不倒&#xff0c;拼多多将社交用于撮合交易&#xff0c;通过平台连接消费者和供应商&#xf…

基于STM8S103F3P6的超声波测距仪设计

大三的时候给大四学长做的毕业设计题目 文章目录 1 绪论1.1 设计背景1.2 设计的主要任务 2 超声波测距基本理论及总体架构2.1 基本知识2.1.1 超声波特性2.1.2 超声波传感器2.1.3 超声波测距原理 2.2 总体架构2.2.1 设计原则2.2.2 总体方案介绍 2.3 主要器件选择与介绍2.3.1 主控…

【快速全面掌握 WAMPServer】03.玩转安装和升级

网管小贾 / sysadm.cc 大多数情况我们在了解和学习任何一款软件之前都会先去尝试一下软件的安装&#xff0c;毕竟只有安装好了软件&#xff0c;再通过使用它来进一步学习和掌握。 那么同样的道理&#xff0c;我们要学习和掌握如何动手搭建 PHP 的调试环境&#xff0c;那么作为…

R语言学习笔记-R包的安装

推荐在线安装&#xff0c;可以解决包与包之间的依赖关系。 1.首先在RGui&#xff1a; 2.在RStudio 的console下&#xff1a; 如安装ggplot2包&#xff0c;则&#xff1a; install.packages("ggplot2") 生信方面&#xff1a; 首先安装&#xff1a; install.packa…

openGauss学习笔记-176 openGauss 数据库运维-实例主备切换

文章目录 openGauss学习笔记-176 openGauss 数据库运维-实例主备切换176.1 操作场景176.2 操作步骤176.3 示例176.4 错误排查176.5 异常处理 openGauss学习笔记-176 openGauss 数据库运维-实例主备切换 176.1 操作场景 openGauss在运行过程中&#xff0c;数据库管理员可能需要…

陈可之|三峡|《河水不犯井水的游戏》

《河水不犯井水的游戏》 尺寸&#xff1a;130x90cm 陈可之2007年绘 油画《河水不犯井水的游戏》是陈可之先生三峡系列作品之一&#xff0c;巧借古代传说&#xff0c;并具象化为螃蟹、乌龟、长江水&#xff0c;描绘了一幅和谐共生的画面。 画面右侧&#xff0c;蜿蜒宽阔的长江水…

打造完备数据生态,「开放互信、合作共赢」: 拓数派亮相2023龙蜥操作系统大会

拓数派始终持「开放互信&#xff0c;合作共赢」的理念&#xff0c;通过积极建立合作伙伴生态网络、构建生态工具、打造活跃的技术和用户社区等方式&#xff0c;构筑更加完善的数据生态体系&#xff0c;为用户带来更加便捷的使用体验。2023年12月17-18日&#xff0c;由开放原子开…

Zookeeper-Zookeeper特性与节点数据类型详解

1.Zookeeper介绍 ZooKeeper 是一个开源的分布式协调框架&#xff0c;是Apache Hadoop 的一个子项目&#xff0c;主要用来解决分布式集群中应用系统的一致性问题。Zookeeper 的设计目标是将那些复杂目容易出错的分布式一致性服务封装起来&#xff0c;构成一高效可靠的原…

C语言——数据在内存中的存储【整型数据在内存中的储存,大小端字节序储存,浮点型数据在内存中的储存】

&#x1f4dd;前言&#xff1a; 在前面的三篇文章中我们已经完成了对字符函数和字符串函数的学习&#xff0c;现在就让我们探索新领域&#xff0c;更加深入的理解**数据在内存中的存储方式**&#xff1a; 1&#xff0c;整数在内存中的存储 2&#xff0c;⼤⼩端字节序存储 3&…

聊一聊 JavaScript 中的作用域和闭包

哈喽大家好&#xff0c;我是归思君~ 一、引言 我们知道&#xff0c;作用域&#xff08;Scope&#xff09;就是代码中变量和函数的可访问的区域&#xff0c;这个区域中决定了变量和函数的生命周期。 在当前的高级程序语言中&#xff0c;主要有词法作用域&#xff08;静态作用域…

java设计模式学习之【解释器模式】

文章目录 引言解释器模式简介定义与用途实现方式 使用场景优势与劣势在Spring框架中的应用表达式解析示例代码地址 引言 在我们的日常生活中&#xff0c;语言的翻译和理解是沟通的关键。每种语言都有自己的语法规则&#xff0c;而翻译人员和计算机程序需要理解并遵循这些规则来…

Python入门-字符串Str

字符串 字符串 是Python中的 不可变 数据类型 1.字符串相关处理方法 大小写转换 # 大小写转换 s1HelloWorld new_s2s1.lower() print(s1,new_s2)new_s3s1.upper() print(new_s3)结果&#xff1a; D:\Python_Home\venv\Scripts\python.exe D:\Python_Home\chap6\示例6-1字符…