【HZHY-AI300G智能盒试用连载体验】设置RKNN的开发环境

news2024/11/19 3:46:49

目录

安装RKNN工具

安装pip3

安装RKNN Toolkit Lite2

安装RKNPU2运行库


本文首发于电子发烧友论坛:【新提醒】【HZHY-AI300G智能盒试用连载体验】+ 智能工业互联网网关 - 北京合众恒跃科技有限公司 - 电子技术论坛 - 广受欢迎的专业电子论坛! (elecfans.com)

前面已经展示了AI300G智能盒转为工业网关的能力,接下来我们将测试RK3588的NPU推理能力。

首先,需要安装RKNN相关工具和Python的环境。

安装RKNN工具

瑞芯微提供的NPU相关工具包括RKNN-Toolkit2RKNN Toolkit Lite2

RKNN-Toolkit2是为用户提供在 PC、 Rockchip NPU平台上进行模型转换、 推理和性能评估的开发套件, 用户通过该工具提供的 Python接口可以便捷地完成以下功能:

  1. 模型转换: 支持 Caffe、 TensorFlow、 TensorFlow Lite、 ONNX、 DarkNet、 PyTorch等模型转为 RKNN模型, 并支持 RKNN模型导入导出, RKNN模型能够在 Rockchip NPU平台   上加载使用。
  2. 量化功能: 支持将浮点模型量化为定点模型, 目前支持的量化方法为非对称量化

    ( asymmetric_quantized-8asymmetric_quantized-16) , 并 支 持 混 合 量 化 功 能 。
  3. 模型推理: 能够在 PC上模拟 Rockchip NPU运行 RKNN模型并获取推理结果; 或将 **RKNN模型分发到指定的 NPU设备上进行推理并获取推理结果。
  4. 性能评估: 将 RKNN模型分发到指定 NPU设备上运行, 以评估模型在实际设备上运行时** 的性能。
  5. 内存评估: 评估模型运行时的内存的占用情况。 使用该功能时, 必须将 **RKNN 模型分发 到 NPU设备中运行, 并调用相关接口获取内存使用信息。
  6. 量化精度分析: 该功能将给出模型量化前后每一层推理结果与浮点模型推理结果的余弦距离, 以便于分析量化误差是如何出现的, 为提高量化模型的精度提供思路。

     

RKNN Toolkit Lite2为 Rockchip NPU平台提供 Python编程接口,帮助用户部署 RKNN模型,加速 AI应用的落地。

我们在开发板上一般只需要安装RKNN Toolkit Lite2,而RKNN-Toolkit2通常是安装在电脑上的。

安装pip3

AI-300G采用的是Ubuntu系统,默认是安装了Python 3.8,但是没有安装RKNN相关的工具。

开发板上没有pip3,所以需要先安装一个:

sudo apt install python3-pip

安装RKNN Toolkit Lite2

然后从https://github.com/airockchip/rknn-toolkit2/tree/master/rknn-toolkit-lite2/packages下载所需要rknn_toolkit_lite2的安装包,对于我的配置,就是rknn_toolkit_lite2-2.0.0b0-cp38-cp38-linux_aarch64.whl文件。

使用pip进行安装:

pip install rknn_toolkit_lite2-2.0.0b0-cp38-cp38-linux_aarch64.whl

另外,安装一下OpenCV,方便进行图像处理:

pip install -i https://mirror.baidu.com/pypi/simple opencv_contrib_python

安装RKNPU2运行库

瑞芯微的NPU运行还需要RKNPU2运行库支持。

首先从https://github.com/airockchip/rknn-toolkit2/tree/master/rknpu2/runtime/Linux下载所需要的RKNN Server和RKNPU2 Runtime库。注意:不要使用厂商提供的百度盘里面的库文件,那些文件版本太低了。 瑞芯微的NPU相关工具迭代速度相当快,要注意模型、工具之间的版本匹配。

 

然后执行以下命令。 

# 安装rknn server

sudo cp rknn_server/aarch64/usr/bin/rknn_server /usr/bin/rknn_server

sudo cp rknn_server/aarch64/usr/bin/start_rknn.sh /usr/bin/start_rknn.sh

sudo cp rknn_server/aarch64/usr/bin/restart_rknn.sh /usr/bin/restart_rknn.sh



# 安装 RKNPU2 Runtime库

cp librknn_api/aarch64/librknnrt.so /usr/lib/librknnrt.so



# 创建一个软连接到librknnrt.so

sudo ln -s /usr/lib/librknnrt.so /usr/lib/librknn_api.so

 至此,运行Python NPU推理程序的开发环境就准备好了。

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

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

相关文章

WordPress文章标题定制化前缀插件

引言 在当今互联网的海洋中,吸引读者眼球的第一步往往始于文章标题的设计。对于WordPress博主而言,如何让每篇文章的标题更加个性化和吸引人,成为了一项重要的任务。传统的自定义CSS方法虽然可行,但其繁琐的操作和有限的美学效果…

麦克斯韦方程组解析——电磁理论的基石与奥秘

麦克斯韦方程组解析——电磁理论的基石与奥秘 麦克斯韦方程组的核心作用 组件/步骤描述麦克斯韦方程组描述电磁场的基本方程组,由四个主要方程构成功能揭示电场、磁场与电荷、电流之间的关系,是电磁理论的基础应用领域广泛应用于电子学、光学、通信等领…

51单片机16(步进电机实验)

一、步进电机简介: 1、步进电机是将电脉冲信号转变为角位移或线位移的开环控制元件。 2、 3、 4、我们这个电机的旋转停止的位置只取决于脉冲信号的频率和脉冲数,而不受负载的变化的影响,也就是说给我们的这个步进电机一个脉冲信号&#x…

大唐杯 5G LMT

一、比赛现场流程 比赛现场会给你一个册子,册子前边部分会告诉你要做什么,最后一页会给参数。 按照他告诉你要做什么一步步根据参数做就可以了。 他每组还会有个评分表,按照一步步的操作给你打分。 我们评分表这次是 基站登录—网络规划参…

猫用空气净化器测评分享,猫用空气净化器哪个牌子值得买?

作为一位5年资深铲屎官,很多铲屎官听过一丁半点宠物空气净化器,知道宠物空气净化器净化器对于养猫家庭的重要性。其实宠物空气净化器真的是养猫家庭必备的一款小家电。大面积进风口可以有效吸附空气中微小的浮毛、皮屑,专门的除臭技术有效净化…

DP 整数拆分不同的二叉搜索树 DAY21

整数拆分? 给定一个正整数 n ,将其拆分为 k 个 正整数 的和( k > 2 ),并使这些整数的乘积最大化。 返回 你可以获得的最大乘积。 示例 1: 输入: n 2 输出: 1 解释: 2 1 1, 1 1 1。示例 2: 输入: n 10 输…

后端笔记(1)--javaweb简介

1.JavaWeb简介 ​ *用Java技术来解决相关web互联网领域的技术栈 1.网页:展现数据 2.数据库:存储和管理数据 3.JavaWeb程序:逻辑处理 2.mysql 1.初始化Mysql mysqld --initialized-insecure2.注册Mysql服务 mysqld -install3.启动Mysql…

数据结构第六讲:栈和队列

数据结构第六讲:栈和队列 1.栈1.1概念与结构1.2栈的实现1.2.1栈的基础框架1.2.2栈的初始化1.2.3栈的销毁1.2.4栈的插入(压栈)1.2.5栈的删除(出栈)1.2.6获取栈顶元素1.2.7获取栈中有效数据的个数 2.队列2.1概念与结构2.…

PyTorch 2.0 GPU Nvidia运行库的安装

【图书推荐】《PyTorch深度学习与计算机视觉实践》-CSDN博客 假设读者电脑带有NVIDIA 20 以上系列的显卡。 我们以CUDA 11.7cuDNN 8.2.0(其他更高版本的组合,读者可以执行查阅PyTorch官网获得)为例,讲解PyTorch 2.0 GPU版本的安…

Cocos Creator2D游戏开发(4)-飞机大战(2)-编辑器界面

编辑器几个重要板块 参考: https://docs.cocos.com/creator/3.8/manual/zh/editor/ (1) 场景编辑器: 仅看2D视图: 按钮作用依次是: 平移, 旋转,缩放,矩形变换,增量吸附工具,最后三个,前俩是变换工具,最后一个是布局组件 矩形变换: 中心点和锚点切换 以后用到慢慢整吧! (2)层…

大语言模型的Scaling Law:如何随着模型大小、训练数据和计算资源的增加而扩展

人工智能的世界正在经历一场革命,大型语言模型正处于这场革命的前沿,它们似乎每天都在变得更加强大。从BERT到GPT-3再到PaLM,这些AI巨头正在推动自然语言处理可能性的边界。但你有没有想过是什么推动了它们能力的飞速提升? 在这篇…

反向代理和负载均衡

目录 步骤1 代理技术介绍 代理技术常见的类型 正向代理的用途 反向代理的作用 步骤2 反向代理配置 步骤3 负载均衡 1、路由模式(推荐) 2、桥接模式 3、服务直接返回模式 4、负载均衡算法介绍 1、轮询法 2、随机法 3、最小连接法 步骤4 nginx…

数据结构:队列(顺序存储和链式存储)

文章目录 1. 队列的概念和结构2. 队列的链式存储实现2.1 初始化2.2 判断队列是否为空2.3 入队列2.4 出队列2.5 取队头数据2.6 取队尾数据2.7 队列有效数据的个数2.8 打印队列数据2.9 销毁2.10 源代码 3. 队列的顺序存储实现(循环队列)3.1 初始化3.2 判断队列是否为空3.3 判断队…

五、获取树形结构数据递归写法

1、mysql库表字段 学习:构建表结构时的规范,字段类型的选择 CREATE TABLE pms_category (cat_id bigint(20) NOT NULL AUTO_INCREMENT COMMENT 分类id,name char(50) DEFAULT NULL COMMENT 分类名称,parent_cid bigint(20) DEFAULT NULL COMMENT 父分类…

2024年必知:9大项目成本管理系统推荐

本文将分享9大优质项目成本管理系统:PingCode、Worktile、中望软件、用友、智慧工地云平台、SAP ERP、Microsoft Project、Wrike、Zoho Projects。 在项目管理领域,控制成本往往是最挑战的一环,特别是在预算和资源受限的情况下。选择合适的项…

从0开始搭建vue + flask 旅游景点数据分析系统(二):搭建基础框架

这一期目标是把系统的布局给搭建起来,采用一个非常简单的后端管理风格,可以参考官方的页面 https://element.eleme.cn/#/zh-CN/component/container 下面我们开始搭建,首先,安装一下vue-router,element-ui npm insta…

【前端 12】js事件绑定

JavaScript 事件绑定 在Web开发中,事件绑定是实现用户与网页交互的重要机制。JavaScript 提供了多种方式来绑定和处理事件,使得开发者能够灵活地控制网页的行为。本文将详细介绍JavaScript中事件绑定的两种主要方式,并通过实例演示如何应用这…

查找(find)磁盘分区 压缩

一:查找的应用 find 查找位置 选项 参数 按用户查找 属主是root find /root -user root 按文件类型查找 文件类型为普通文件的 find /root -type f 文件类型为目录的 find /root -type d fin…