当前位置: 首页 > news >正文

rk3568环境配置和推理报错: RKNN_ERR_MALLOC_FAIL(-4) 和 RKNN_ERR_FAIL(-1)

前言
最近在部署算法在板子侧遇到的一些问题汇总一下:

一、版本问题

经过测试现在将自己环境配置如下:

本地linux安装rknn-toolkit2-1.5.0

  1. 本地Linux使用的miniconda新建的一个python虚拟环境(自行网上查找相关方法)
  2. 安装好自己的虚拟环境之后:安装所需的依赖包
sudoapt-getinstalllibxslt1-dev zlib1g-dev libglib2.0 libsm6 libgl1-mesa-glx libprotobuf-dev gcc
  1. 将官方的RKNN-Toolkit2库git到linux本地:(如果提示没有找到git命令,使用:sudo apt install git-all安装git工具)
gitclone https://github.com/rockchip-linux/rknn-toolkit2

  1. 进入 Toolkit2 工程文件夹, 根据工程的保存路径修改 cd 命令中的路径。
cd~/rknn-toolkit2
  1. 安装必要相应版本的依赖包(这里我安装和我自己linux匹配的py3.8版本)
pip3install-rdoc/requirements_cp38-1.5.0.txt
  1. 安装 RKNN-Toolkit2(Python3.6 for x86_64)
pip3installpackage/rknn_toolkit2-1.5.0+1fa95b5c-cp38-cp38-linux_x86_64.whl
  1. 检查 RKNN-Toolkit2 是否安装成功。 出现这个界面,就说明本地linux端的安装已经成功,
  2. 可以运行官方的examples案例检测:rknn-toolkit2/examples/onnx/yolov5

板子RK3568环境安装

  1. git源码到板子上
gitclone https://github.com/rockchip-linux/rknn-toolkit2
cd./rknn_toolkit_lite2

文件结构如下:

  1. 环境安装
sudoaptupdate#安装python工具等sudoapt-getinstallpython3-dev python3-pip gcc#安装相关依赖和软件包pip3installwheelsudoapt-getinstall-ypython3-opencvsudoapt-getinstall-ypython3-numpysudoapt-yinstallpython3-setuptools
  1. Toolkit Lite2工具安装:
# 进入到rknn_toolkit_lite2目录下,cdrknn_toolkit_lite2/# ubuntu22 python3.7pip3installpackages/rknn_toolkit_lite2-1.5.0-cp310-cp310m-linux_aarch64.whl
  1. 检测安装成功
python3>>>from rknnlite.apiimportRKNNLite>>>
  1. 运行官方的demo
    此时运行一定是在rknn_toolkit_lite2这个文件下找到examples进行运行:

运行我的demo:仓库地址:https://gitee.com/wangyoujie11/rk3568_-demo

Mnist_PC放在本地电脑的linux环境下,激活自己的python虚拟环境,然后python test.py就可以运行
Mnist_rk3568放在板子的linux环境下,然后python3 rk3568_test.py就可以运行
运行结果分别如下:
pc端(程序里加载的1.png):

RK3568板子端(程序里加载的7.png):

---------------------------------------------分割线(不定期更新)-----------------------------------------

问题一

在使用RK3568开发板的时候,在板子侧部署.rknn模型推理的时候报错: *Exception: RKNN init failed. error code: RKNN_ERR_MALLOC_FAIL*


然后查看官方的手册发现报错提示:内存分配失败
但是没有对应的解决方法,只能自己debug了(一杯茶,一包烟,一个bug找一天)…
后面发现问题所在:我的.onnx模型输出如下:有多个输出,导致在本地linux下可以运行自己的模型,但是在板子上由于资源受限,导致板子的内存分配失败。所以解决的办法就是将自己的.onnx模型的输出给减少。https://netron.app/可以将自己的.onnx模型加载看输入输出

#原xxx.onnx文件放在onnx文件夹下,然后创建一个新的文件夹newonnx用来存放新的.onnx模型#版本说明这里的.onnx模型是在pytorch版本1.6.0~1.10.1直接训练的模型,并且在onnx版本在1.7.0~1.10.0之间importonnx model=onnx.load('./onnx/xxx.onnx')node=model.graph.output[1]model.graph.output.remove(node)onnx.save(model,'./newonnx/xxx.onnx')model=onnx.load('./newonnx/xxx.onnx')foriinrange(1,9):#根据自己要删除的节点设置范围node=model.graph.output[1]model.graph.output.remove(node)onnx.save(model,'./newonnx/xxx.onnx')


经过上面的代码裁剪.onnx模型之后

得到这个新的.onnx模型之后,就可以由本地Linux运行rknn的对应api将.onnx模型转为.rknn模型,然后将.rknn模型在板子上进行推理了。

问题二


出现这个原因是因为,电脑端的rknn-toolkit2版本和板子端的rknn-toolkit2_lite版本的不同,必须是相同版本下,电脑端导出的rknn模型可以成功运行在板子端

http://www.cnnetsun.cn/news/1797822.html

相关文章:

  • 英雄联盟终极美化神器:LeaguePrank 5分钟快速上手指南
  • winutils:攻克Windows平台Hadoop开发环境兼容性难题的完整解决方案
  • 三步搞定Windows远程桌面多用户配置:告别“不支持“困扰
  • Windows热键冲突终极指南:用Hotkey Detective轻松找回被占用的快捷键
  • 3步将闲置电视盒变身高性能服务器:Amlogic-S9xxx-Armbian项目实战指南
  • RMCP多服务管理终极方案:构建企业级AI集成平台
  • 从零开始:如何用dateutil构建企业级时间处理系统的完整指南
  • DownKyi:开源视频下载工具如何帮你高效管理媒体内容库?
  • 7天持续运行:OpenClaw+Qwen3.5-9B压力测试报告
  • Qwen-Image-2512-Pixel-Art-LoRA 从零开始:Node.js调用与Web服务搭建
  • 终极指南:快速修复fzf终端颜色乱码问题的10个有效方法
  • **claude 4.6写小说工具:2025年创作指南**在数字化浪潮席卷全球的今天,内容创作已成为许多人表达自我、实现价值的重要途径。而在众多创作工具中,Claude 4.6以其独特的功能和卓越
  • Qwen3-0.6B-FP8电商运营提效:商品详情页撰写+用户评价分析+客服话术生成
  • Cowabunga Lite终极指南:5步打造个性化iOS界面
  • OpenCore Legacy Patcher完整指南:让老旧Mac重获新生的终极方案
  • deepin安装chrome
  • AIVideo开源AI视频平台入门:支持Python API调用与批量任务提交说明
  • 中文文献管理终极指南:Jasminum插件如何让Zotero更懂中文
  • OpenClaw+gemma-3-12b-it数据清洗方案:Excel自动化处理实战
  • Krita-Vision-Tools核心架构解析:深度理解AI插件实现原理
  • GLM-4.1V-9B-Base部署教程:ss -ltnp查端口+supervisorctl重启故障恢复
  • 无需代码!ResNet18物体识别WebUI体验:上传图片,AI告诉你是什么
  • 3分钟掌握网易云音乐双语歌词下载神器:LrcHelper终极指南
  • 如何突破限制:数字阅读自由的创新解决方案
  • 突破访问限制:内容解锁完全指南
  • 手机号逆向查QQ:3分钟找回丢失账号的终极方案
  • 【微软内部验证通过】:C# 14原生AOT + Dify客户端端侧推理落地全链路(含IL trimming深度调优参数)
  • VMware macOS解锁器终极指南:5分钟在Windows/Linux上运行苹果系统
  • 2024全新3种突破方案解决付费墙限制:Bypass Paywalls Clean全方位应用指南
  • XXMI Launcher终极指南:一站式游戏模组管理平台完全教程 [特殊字符]