尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
香橙派转换模型以及在开发板上部署
新手小白记录一下自己使用香橙派模型转换以及在开发板上运行的过程防止后面忘记。使用的开发板Orange Pi 5 Plusrk3588官方的一些资料在主要参考用户手册Orange Pi - Orangepihttp://www.orangepi.cn/html/hardWare/computerAndMicrocontrollers/service-and-support/Orange-Pi-5-plus.html虚拟机ubuntu20.04前提1、在自己笔记本上已经安装好虚拟机 (ubuntu20.04)2、开发板已经烧录好镜像可以正常开机使用一、自己笔记本虚拟机端的环境配置1、查看python的版本python3 --version这里我的虚拟机是完全新装的一个里面没有额外装任何东西。2、安装RKNN-Tookl2的依赖包sudo apt-get updatesudo apt-get install libxslt1-dev zlib1g-dev libglib2.0 libsm6 libgl1-mesa-glx libprotobuf-dev gcc然后我这里报错报错E: 无法获取 dpkg 前端锁 (/var/lib/dpkg/lock-frontend)是否有其他进程正占用它解决办法参考https://www.cnblogs.com/while19/p/16197099.htmlsudo rm /var/cache/apt/archives/lock sudo rm /var/lib/dpkg/lock sudo rm /var/lib/dpkg/lock-frontend接着继续使用上面的命令安装依赖安装完成之后如下图3、安装rknn-toolkit2git clone https://github.com/rockchip-linux/rknn-toolkit2 -b v1.5.2正常应该都是可以正常下载的我也不知道为什么报了那么多错误这里报错报错fatal: 无法访问 https://github.com/rockchip-linux/rknn-toolkit2/GnuTLS recv error (-110): The TLS connection was non-properly terminated.解决办法https://www.cnblogs.com/forforever/p/16451444.html按照上面的方法一开始我还是不能正常下载然后我重启了一下虚拟机之后就可以了还是我的网络问题。4、安装rknn-toolkit2需要的环境pip3 install -r rknn-toolkit2/doc/requirements_cp38-1.5.2.txt -i https://mirror.baidu.com/pypi/simple如果报错没有pip命令的话根据提示安装一下即可如果这里使用百度的镜像源下载不了报错的话可以更换一下镜像源更换方法将 -i 后面的网址换掉即可下面是常用的几个镜像源1. 清华大学镜像站https://pypi.tuna.tsinghua.edu.cn/simple/ 2. 阿里云镜像站https://mirrors.aliyun.com/pypi/simple/ 3. 中科大镜像站https://pypi.mirrors.ustc.edu.cn/simple/ 4. 中国科技大学镜像站https://pypi.mirrors.ustc.edu.cn/simple/ 5. 中国科学技术大学镜像站https://pypi.mirrors.ustc.edu.cn/simple/ 6. 华中科技大学镜像站https://pypi.hustunique.com/如果有个别的库下载不下来的话可以再重新换个镜像源单独安装。5、安装RKNN-Toolkit2软件包pip3 install rknn-toolkit2/packages/rknn_toolkit2-1.5.2b642f30c-cp38-cp38-linux_x86_64.whl安装完成之后可以使用里面给出的样例测试一下cd rknn-toolkit2/examples/onnx/yolov5/ python3 test.py结果如下在这个文件夹下可以看到输出的结果以及转换的rknn模型。二、使用ADB功能连接开发板和虚拟机我是参考用户手册里面的使用type-c数据线连接adb的部分打开开发板之后用一根数据线连接开发板和虚拟机。1、开发板端设置将type-c接口设置为device模式sudo set_device.sh确认adbd已经启动ps -ax | grep adbd会输出两行类似下面的信息2、虚拟机端1要确认设备是连接在虚拟机上面的可以通过虚拟机选项的可移动设备上面查看有一个rk3588的设备要连接到虚拟机不能连接到主机。2在虚拟机上面安装adbsudo apt-get update sudo apt-get install -y adb安装完成如下3测试一下能不能识别到adb devices正常时输出下面的结果这里得到的那一串device_id后面是需要用到的。但是我这里很容易出问题一开始老是检测不到设备可以多拔几次重新插试试。三、在ubuntu端使用开发板的NPU运行模型1、更新开发板的rknn_server 和librknnrt.so1更新开发板的rknn_serveradb push rknpu2/runtime/RK3588/Linux/rknn_server/aarch64/usr/bin/* /usr/bin2更新开发板的librknnrt.soadb push rknpu2/runtime/RK3588/Linux/librknn_api/aarch64/librknnrt.so /usr/lib3虚拟机端通过adb打开开发板的终端adb shell可以看到已经进入了开发板的终端。4打开rknn_server服务restart_rknn.sh5可以再使用下面检查一下是否有进程idpgrep rknn_server2、生成对应的模型并调用开发板的NPU推理1切换到官方给的测试代码cd rknn-toolkit2/examples/onnx/yolov5/2打开test.py文件修改相关参数这里有两种方式第一种是直接打开test.py文件在里面修改并保存第二种方式是使用vim编辑器从终端打开test.py文件进行修改这里我直接打开test.py文件修改保存。在241行和270行添加平台rk3588和device_id其中device_id是通过前面的adb device命令得到的。注意如果用第二种方式使用vim编辑器在终端打开test.py文件的话需要先按 i 键进入插入模式然后修改参数修改完成之后按esc退出插入模式再直接敲 :wq 保存退出注意在vim模式下想要输入命令得先输入一个 : 才能输入命令使用vim的命令如下如果之前没有安装过vim会报错根据提示安装一下即可vim test.py3在虚拟机端使用python运行示例python3 test.py正常检测。3、调用C接口部署RKNN模型到开发板上运行1由于虚拟机端用的是x86而开发板用的是arrch64所以需要在虚拟机端安装交叉编译链git clone https://github.com/airockchip/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu2修改编译工具的路径#进入rknn_yolov5_demo文件夹 cd ~/rknpu2/examples/rknn_yolov5_demo #使用vim打开build-linux_RK3588.sh并修改 vim build-linux_RK3588.sh键盘敲 i 键进入插入模式然后按照下图设置TOOL_CHAIN值export TOOL_CHAIN~/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu这里需要注意一下如果只修改了TOOL_CHAIN的值后面编译生成可用程序的时候会报错CMake Error at /usr/share/cmake-3.16/Modules/CMakeDetermineCCompiler.cmake:49 (message):Could not find compiler set in environment variable CC:aarch64-linux-gnu-gcc.所以建议一起修改GCC_COMPILER的值GCC_COMPILER~/gcc-buildroot-9.3.0-2020.03-x86_64_aarch64-rockchip-linux-gnu/bin/aarch64-rockchip-linux-gnu修改完成之后按esc退出插入模式然后输入wq保存退出。3编译生成可用程序./build-linux_RK3588.sh如果报错未找到cmake命令的话就使用下面命令安装一下sudo apt-get install -y cmake编译生成完成之后会在该文件夹下生成一个install的文件夹里面有一个rknn_yoov5_demo_Linux文件夹里面就是我们需要的文件。使用 ls install命令可以看到:4将编译生成的文件上传到开发板adb push install/rknn_yolov5_demo_Linux /data/rknn_yolov5_demo_Linux5进入开发板的文件系统adb shell cd /data/rknn_yolov5_demo_Linux/ ls6在开发板上进行推理./rknn_yolov5_demo ./model/RK3588/yolov5s-640-640.rknn ./model/bus.jpg推理完成之后可以使用 ls 命令查看生成的文件目录。7使用adb pull将结果拉到虚拟机内adb pull /data/rknn_yolov5_demo_Linux/out.jpg ~/yolo_output这里的yolo_output是我事先在虚拟机里面建好的一个文件夹用来存放推理出来的结果这里的路径可以修改。打开虚拟机里面的yolo_output文件夹可以看到拉出来的结果图片
RELATED

相关推荐

Bevy加载状态机教程:如何用bevy_asset_loader构建Loading State并保证加载完成才切换场景

Bevy加载状态机教程:如何用bevy_asset_loader构建Loading State并保证加载完成才切换场景

Bevy加载状态机教程:如何用bevy_asset_loader构建Loading State并保证加载完成才切换场景 【免费下载链接】bevy_asset_loader Bevy plugin helping with asset loading and organization 项目地址: https://gitcode.com/gh_mirrors/be/bevy_asset_loader Be…

📅 2026/10/21 3:51:25
告别Anaconda:手把手搭建纯净Python+PyCharm+PyTorch深度学习环境

告别Anaconda:手把手搭建纯净Python+PyCharm+PyTorch深度学习环境

1. 项目概述:为什么选择“纯净”安装路线? 在深度学习或Python开发的入门阶段,很多教程和指南都会首推Anaconda。它确实方便,一个安装包就集成了Python、包管理器conda以及一大堆科学计算库,对于新手来说,…

📅 2026/10/20 19:31:37
NumPy eigh函数:对称矩阵特征分解的高效算法与工程实践

NumPy eigh函数:对称矩阵特征分解的高效算法与工程实践

1. 项目概述:为什么我们需要专门聊聊eigh?如果你用过NumPy,大概率对linalg.eig不陌生,它用来计算一般方阵的特征值和特征向量。但当你处理的是实对称矩阵或**复共轭对称矩阵(Hermitian矩阵)**时&#xff0c…

📅 2026/10/21 2:09:41
MORE NEWS

更多资讯

📰

智能从来不是工具,是结构:Copilot 救不了组织

WGA 在 2026 年 10 月发布的一份组织设计报告里引过一项覆盖 5179 名客服的研究:AI 辅助让人均处理量涨了 14%,新手和低技能员工涨了 34%。WGA 据此判断,工作流、排队、升级路径与汇报线,四样一样没碰。 人更快了,组织…

📰

2026日语能力考试N1、N2、N3、N4、N5历年真题及答案合集PDF(2010-2026年)

2026年7月日本语能力测试(JLPT)考试公告2026年度12月日本语能力测试(JLPT)N1–N5级别考试定于12月6日举行。备考资源汇总为协助考生系统备考,现提供以下历年真题资料:资源类型内容说明格式说明真题试卷2010…

📰

CAN 位时序与 500kbps 参数推导:HAL 里看不到 0x001A0005,但它就在那

做车载 ECU 诊断工具链,第一步绕不过去的是把 CAN 波特率配准。我用的是STM32F407ZGT6最小系统板, 它的 CAN_BTR 寄存器有 0x001A0005这个值,要把它从 42MHz 推导出来,才敢说"会 CAN"。一、先确认你的时钟到底是多少CAN 挂在 APB1 …

📰

门店上 AI 项目怎么立项排期?6 个阶段、8 到 12 周参考周期与 3 个最容易返工的节点

门店 AI 项目从立项到上线,中小连锁的参考周期是 8—12 周,其中约 6 周花在数据和评测上。大量项目返工不是因为模型不行,而是立项时把排期压得太紧、数据接入和验收指标没有提前定义清楚。 这篇笔记给一份可直接套用的立项排期表&#xff1a…

📰

2026 AI 全栈开发面试题:前端、后端、模型、部署一篇打通

✍️ 作者:王文峰(外号:神秘小峯 / 山峯)|中国国学、传统文化与代码爱好者的程序人生,期待你的关注和支持! 2026 AI 全栈开发面试题:四层考点全解析 一、AI 全栈 = 四层能力模型 二、交互层:流式是 AI 应用的门面 考点 1:流式输出选 SSE 还是 WebSocket? 考点 2:最…

📰

结合第三方视觉平台开发基本视觉应用,是机器视觉工程师的核心能力之一

结合第三方视觉平台开发基本视觉应用,是机器视觉工程师的核心能力之一。下面从平台选型、典型应用开发流程、关键技能点三个维度展开,帮你梳理一条可落地的路径。一、第三方视觉平台选型 不同平台定位差异较大,选型要看项目规模、预算和团队技…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬