CV12_ONNX转RKNN模型(谛听盒子)
暂时简单整理一下:
1.在边缘设备上配置相关环境。
2.配置完成后,获取模型中间的输入输出结果,保存为npy格式。
3.将onnx格式的模型,以及中间输入输出文件传送到边缘设备上。
4.编写一个python文件用于转换模型格式,dataset作为测试可以是随便的数据。
5.将python传送到边缘设备上并运行。
注意:所有文件要在同一目录下。
参考代码一:
# Author:SiZhen
# Create: 2024/7/15
# Description: ONNX转RKNN
import os
import numpy as np
from rknn.api import RKNNdef convert_onnx_to_rknn(onnx_path,rknn_path,input_data,output_data):#创建RKNN对象rknn = RKNN()rknn.config(target_platforms='rk3588',quantized_algorithm='mmse',optimization_level = 2)#加载ONNX模型print('loading ONNX model...')ret = rknn.load_onnx(model=onnx_path)if ret !=0:print("load failed!")return#构建模型,进行RKNN模型转换print('building rknn model...')ret = rknn.build(do_quantization=False,dataset='/home/DiTing/sizhen/dataset.txt')if ret !=0:print('Build RKNN model failed!')#导出RKNN模型print('Exporting RKNN model...')ret = rknn.export_rknn(rknn_path)if ret != 0:print('Export RKNN failed!')returnprint('RKNN model is successfully exported to ',rknn_path)rknn.init_runtime()outputs=rknn.inference(inputs=[input_data],data_format='nchw')try:if np.test.assert_almost_equal(outputs[0],output_data,decimal=1)is None:print('模型输出与预期一致。')except AssertionError as e :print("不一致,详细信息:",e)#转换模型
i = 0
onnx_path = r'/home/DiTing/sizhen/resNet34.onnx'
rknn_path = onnx_path.replace('.onnx','.rknn')
input_data = np.load('/home/DiTing/sizhen/input_data.npy')
output_data = np.load('/home/DiTing/sizhen/output_data.npy')
convert_onnx_to_rknn(onnx_path,rknn_path,input_data,output_data)
问题及解决方法
问题一
安装失败。

解决方法:这个地方,谛听盒子应该是arm的版本而不是x86:(Lite版本)

问题二
安装成功找不到属性

解决方法:用如下包替代
![]()
问题三
lite版本缺少属性


初步讨论结果:lite版本应该是只包含运行环境的,最好不要在盒子上进行模型转换,会又慢又卡,可能利特版本就是没有模型转换的功能的。
解决方法:在其他环境转换。(待更新)可能的解决办法:https://bbs.eeworld.com.cn/thread-1283146-1-1.html
问题四
在上面链接的指导进行windows环境下安装toolkit时,出现如下错误:

原因是没有安装Cmake。在安装Cmake后,又出现如下错误:
NMake Makefiles does not support platform specification, but platform x64 was specifced
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage
CMake Error: CMAKE_CXX_COMPILER not set, after EnableLanguage
-- Configuring incomplete, errors occurred!
解决方法:https://blog.csdn.net/qq_42276781/article/details/88594870
1.打开 Visual Studio Installer -> 修改 -> 单个组件 -> 勾选 用于 CMake 的 Visual C++ 工具 -> 修改
2.Visual Studio Installer -> 修改->工作负荷 -> 使用C++的桌面开发 -> 修改】
3.配置一下path 环境变量 计算机 -> 属性 -> 高级系统设置 -> 环境变量 -> Path -> 编辑 -> 加入
自己的路径\Microsoft Visual Studio\2017\Community\Common7\IDE\CommonExtensions\Microsoft\CMake\CMake\bin
后确定
重启电脑之后,再次安装即可。
问题五
rknn-toolkit在windows系统没有2代版本(1代版本不兼容rk3588),2代版本目前只有linux系统。
解决方法:搭一个虚拟环境然后用虚拟机安装rknn-toolkit2
相关文章:
CV12_ONNX转RKNN模型(谛听盒子)
暂时简单整理一下: 1.在边缘设备上配置相关环境。 2.配置完成后,获取模型中间的输入输出结果,保存为npy格式。 3.将onnx格式的模型,以及中间输入输出文件传送到边缘设备上。 4.编写一个python文件用于转换模型格式,…...
k8s集群创建devops项目一直等待状态,没有发现host
问题分析: kubesphere在帮我们自动化创建一些智能自动化的额时候难免会发生一些小错误,devops-jenkins是一个部署也会生成一个容器组即pod,容器组的容器服务端口是 targetPort,容器组对外暴露的端口是port,拿devops-c…...
chatglm2-6b-prompt尝试
参考https://cloud.tencent.com/developer/article/2426296 chatglm2-6b,通过prompt来实现zero-shot/fewshot的自然语言处理任务 import json import re import os from modelscope.utils.constant import Tasks from modelscope import Model from modelscope.pi…...
vite+vue3项目初始化搭建
vitevue3项目初始化搭建 "nodejs": v18.19.0 "pnpm": 8.15.0 "vue": v3.4.21 "vite": v5.2.01.创建项目 Vite中文官网 pnpm create vitelatest项目名字:gd_web 选择框架:Vue3 选择语言:JavaScrip…...
使用 Vue3、Node.js、MySQL、Electron 和 Express 实现用户登录、文章管理和截屏功能
在现代 Web 开发中,前后端分离的架构已经成为主流。本文将详细介绍如何使用 Vue3、Node.js、MySQL、Electron 和 Express 实现一个完整的用户登录、文章管理和截屏功能的应用。我们将从项目的初始化开始,逐步实现各个功能模块,并提供详细的代…...
django中日志模块logging的配置和使用
一、文件的配置 settings.py文件中添加LOGGING块的配置,配置如下 # 日志记录 LOGGING {"version": 1,"disable_existing_loggers": False, # 用于确定在应用新的日志配置时是否禁用之前配置的日志器# 格式器"formatters": {"v…...
pyqt/pyside QTableWidget失去焦点后,选中的行仍高亮的显示
正常情况下pyqt/pyside的QTableWidget,点击input或者按钮失去焦点后 行的颜色消失了 如何在失去焦点时保持行的选中颜色,增加下面的代码: # 获取当前表格部件的调色板 p tableWidget.palette()# 获取活跃状态下的高亮颜色和高亮文本颜色&a…...
函数定义、合约与面向对象(以太坊solidity合约)
函数定义、合约与面向对象(以太坊solidity合约) 1-函数定义、构造与多态2-事件日志3-面向对象特征 1-函数定义、构造与多态 创建合约就是创建类,部署合约就是实例化 合约的方法还支持多态 还能使用第三方的库进行开发 整个合约部署后&…...
微服务:nacos
Nacos 由Alibaba推出的集成于SpringCloudAlibaba中的一款开源注册中心框架 主要功能: 注册中心 配置管理 nacos的安装和部署 nacos默认访问端口8848 docker pull nacos/nacos-server:1.2.0 docker run --env MODEstandalone --name nacos --restartalways -d -p 8848:8…...
前端css常用笔记
文章目录 一、样式二、vue笔记2.1、组件之间的通信2.1.1 子组件调用父组件的方法2.1.2 父组件调用子组件的方法2.1.3 孙组件调用祖父组件方法的实现 2.2、使用若依时,node_nodules越来越大的问题2.3、echart笔记 一、样式 1 文字与图标对不齐的解决方法 /**给icon加上这个样式即…...
WINUI或WPF灵活使用样式、控件模板、自定义控件、用户控件
在WINUI与WPF 中,控件模板(ControlTemplate)、样式(Style)、自定义控件(CustomControl)和用户控件(UserControl)都是构建复杂和灵活用户界面的重要工具,但它们…...
如何用EXCEL自动解方程/方程组?利用 矩阵乘法X=A-*B,X=mmult(minverse(A), B)
目录 问题的由来 1 数据 → 模拟分析 → 单变量求解 1.1 找一个单元格填入公式 1.2 功能入口 1.3 选择单变量求解,分别填入内容 1.4 求解 1.5 这个感觉用处不大 2 重点介绍,用EXCEL进行矩阵运算解方程的操作 2.1 运用EXCEL进行矩阵运算&…...
ComfyUI进阶:Comfyroll插件 (二)
前言: 学习ComfyUI是一场持久战,而Comfyroll Studio 是一款功能强大的自定义节点集合,专为 ComfyUI 用户打造,旨在提供更加丰富和专业的图像生成与编辑工具。借助这些节点,用户可以在静态图像的精细调整和动态动画的复…...
Spring Boot集成Activity7实现简单的审批流
由于客户对于系统里的一些新增数据,例如照片墙、照片等,想实现上级逐级审批通过才可见的效果,于是引入了Acitivity7工作流技术来实现,本文是对实现过程的介绍讲解,由于我是中途交接前同事的这块需求,所以具…...
自动驾驶,革了谁的命
概述 从AI 的出现开始,到现在已经慢慢地开始改变着周遭的世界。 从对话聊天,到当前的看图识文,图片转动效等等,慢慢地在与实体结合后,其发挥的威力是巨大的。 科技将会是改变世界的核心驱动力之一,已经深…...
在线实习项目|泰迪智能科技企业级项目学习,暑期大数据人工智能学习
在线实习介绍 实习时间:每个项目周期七周左右 面向对象:大数据、计算机相关专业学生;大三、大四毕业年度学生 在线实习收获 1、获得项目实战技能,积累项目经验 2、获得在线实习证明 项目特点…...
【BUG】已解决:To update, run: python.exe -m pip install --upgrade pip
To update, run: python.exe -m pip install --upgrade pip 目录 To update, run: python.exe -m pip install --upgrade pip 【常见模块错误】 解决办法: 欢迎来到英杰社区https://bbs.csdn.net/topics/617804998 欢迎来到我的主页,我是博主英杰&…...
Lua 运算符
Lua 运算符 Lua 是一种轻量级的编程语言,广泛用于游戏开发、脚本编写和其他应用程序。它具有一套丰富的运算符,用于执行各种数学和逻辑操作。本文将详细介绍 Lua 中的运算符,包括算术运算符、关系运算符、逻辑运算符和其他特殊运算符。 算术…...
园区道路车辆智能管控视频解决方案,打造安全畅通的园区交通环境
一、背景需求分析 随着企业园区的快速发展和扩张,道路车辆管理成为了保障园区秩序、提升运营效率及确保员工安全的重要任务。针对这一需求,旭帆科技TSINGSEE青犀提出了一种企业园区道路车辆管控的解决方案,通过整合视频监控、智能识别等技术…...
MATLAB R2023b下载安装教程汉化中文版设置
MATLAB R2023b下载安装教程汉化中文版设置 Matlab 是一款功能强大的商业数学软件 Matlab(Matrix Labortory)即矩阵实验室,它在数值计算、数据分析、算法开发、建模与仿真等众多领域都发挥着重要作用。 Matlab 具有以下显著特点和优势&…...
8086汇编实战:用ZF、PF、SF标志位调试你的第一个程序(附调试截图)
8086汇编实战:用ZF、PF、SF标志位调试你的第一个程序(附调试截图) 刚接触汇编语言时,很多人会被那些神秘的标志位搞得一头雾水。记得我第一次在调试器里看到ZF、PF、SF这些缩写时,完全不明白它们有什么用——直到我在实…...
AdGuard浏览器扩展:企业级隐私保护与广告拦截解决方案
AdGuard浏览器扩展:企业级隐私保护与广告拦截解决方案 【免费下载链接】AdguardBrowserExtension AdGuard browser extension 项目地址: https://gitcode.com/gh_mirrors/ad/AdguardBrowserExtension AdGuard浏览器扩展是一款专注于隐私保护和广告拦截的开源…...
OpenRocket:重新定义模型火箭设计与仿真的开源力量
OpenRocket:重新定义模型火箭设计与仿真的开源力量 【免费下载链接】openrocket Model-rocketry aerodynamics and trajectory simulation software 项目地址: https://gitcode.com/GitHub_Trending/op/openrocket 核心价值:破解模型火箭开发的效…...
飞书文档全流程备份终极方案:从手动操作到自动化管理的完美转型
飞书文档全流程备份终极方案:从手动操作到自动化管理的完美转型 【免费下载链接】feishu-doc-export 项目地址: https://gitcode.com/gh_mirrors/fe/feishu-doc-export 价值定位:破解企业文档管理的三大核心痛点 📊 在数字化办公日益…...
STM32串口通信实战:从零配置USART到数据收发(附代码)
STM32串口通信实战:从零配置USART到数据收发(附代码) 第一次接触STM32的串口通信时,我被各种术语搞得晕头转向——波特率、数据位、停止位、校验位...更别提那些看起来像天书一样的寄存器配置了。直到在项目中被逼着用USART和传感…...
Pixel Fashion Atelier新手教程:非对称RPG布局下各模块功能与协作逻辑详解
Pixel Fashion Atelier新手教程:非对称RPG布局下各模块功能与协作逻辑详解 1. 认识像素时装锻造坊 Pixel Fashion Atelier(像素时装锻造坊)是一款基于Stable Diffusion与Anything-v5的图像生成工具,它通过独特的RPG游戏界面设计…...
Wan2.2-I2V-A14B部署教程:解决端口冲突/驱动报错/加载失败全方案
Wan2.2-I2V-A14B部署教程:解决端口冲突/驱动报错/加载失败全方案 1. 环境准备与快速部署 1.1 硬件与系统要求 在开始部署前,请确保您的设备满足以下最低配置要求: 显卡:RTX 4090D 24GB显存(必须匹配)内…...
保姆级教程:造相Z-Image文生图模型v2快速上手,一键生成768高清图
保姆级教程:造相Z-Image文生图模型v2快速上手,一键生成768高清图 1. 为什么选择造相Z-Image模型? 造相Z-Image是阿里通义万相团队开源的高性能文生图扩散模型,拥有20亿级参数规模。相比市面上常见的512512分辨率模型,…...
Endnote参考文献序号对齐的终极解决方案
1. 为什么参考文献序号会对不齐? 很多科研工作者在使用Endnote插入参考文献时都遇到过这样的尴尬:当文献序号从个位数增长到十位数时(比如从[9]变成[10]),原本整齐排列的参考文献列表突然变得参差不齐。这个问题看似简…...
别再只盯着蓝牙和ZigBee了!用Telink TLSR8258芯片的2.4G私有协议,自己动手做个低功耗遥控器
从零构建2.4G私有协议遥控器:Telink TLSR8258实战指南 当市面上大多数IoT设备还在蓝牙和ZigBee的框架下挣扎时,Telink TLSR8258芯片的2.4G私有协议正在悄然改写低功耗无线通信的规则。我曾在一个智能农业项目中,需要控制200米外的灌溉阀门&am…...
