RK3568 NPU RKNN(一):概念理清

文章目录

1、前言

本文出现的图片均可能来自讯为视频教程的配套讲义:

链接:https://pan.baidu.com/s/1h3W0cDYDH4E2Vu_HG_qSFg 提取码:ompw

2、RKNPU

到目前为止,RKNPU已经经过了几代的发展,趋近成熟。RK3399pro和RK1808初次引入RKNPU,相比传统的 CPU和GPU,在深度学习运算能力上有比较大幅度的提升。接下来在RV1109和RV1126上使用了第二代NPU,提升了NPU的利用率。第三代NPU应用在RK3566和RK3568上,搭载全新NPU自研架构,而RK3588搭载的为第四代NPU,提高了带宽利用率,支持了多核扩展。RKNPU具体发展过程如下图所示:

RKNPU1.0和RKNPU2.0被划分为了RKNPU,而RKNPU3.0、RKNPU4.0和RKNPU5.0被划分为了RKNPU2。

3、RK3568 NUP能力

RK3568 NPU只有单核心,RK3588 NPU是3核心。

4、RKNPU软件推理框架

下图展示了RKNPU各层级之间的关系:

RKNPU应用层可以分为RKNPU动态库、RKNN API、应用程序三个部分。关于API,rk提供了Python和C两种程序接口,而动态库就是接口的具体实现。

5、RKNN模型

我们需要将常用的模型转换成RKNPU所支持的RKNN模型,才可以使用API进行后续的AI应用程序编写。关于模型之间的转换会涉及到两个工具,分别是RKNN-Toolkit2和RKNN-Toolkit-Lite2。

RKNN-Toolkit2:RKNN-Toolkit2是为用户提供在PC平台上进行模型转换、推理和性能评估的开发套件,用户通过该工具提供的Python接口进行相关功能的开发。(项目地址:GitHub - airockchip/rknn-toolkit2)

RKNN-Toolkit2-Lite2:是RKNN-Toolkit2的阉割版,只保留了推理功能,直接运行在板卡上。二者的区别如下所示:

之前还提到,rk提供了Python和C两种API接口。而C API依赖于RKNPU2 SDK,项目地址在:https://github.com/airockchip/rknn-toolkit2/tree/master/rknpu2。可以把RKNN-Toolkit2-Lite2和RKNPU2 SDK放在一起比较,前者向上提供的是Python API接口,后者向上提供的是C API接口,但它们都是运行在板卡上的,并且RKNPU2 SDK提供的接口会更多更复杂,实现的效果更好。下图展示了二者的区别:

整个开发流程可以总结如下:

  1. 在PC机下,基于RKNN-Toolkit2提供的Python接口进行RKNN模型构建、加载、测试等验证操作。
  2. 在PC机下验证完成后,就轮到项目部署。即将RKNN-Toolkit2-Lite2或RKNPU2 SDK部署到开发板。

6、学习流程

总结关于rknn学习流程大致如下:

1、环境搭建

2、了解如何在pc端使用rknn-toolkit2

3、了解如何在板卡端使用rknn-toolkit-lite2

4、了解如何在板卡端使用rknpu2 sdk

5、项目实践

相关推荐
嵌入式分享2 天前
RK3588/RK3576 为什么取消原生 LVDS?显示接口选型与外部转换方案
rk3588·lvds·mipi
进阶的猪3 天前
RKNN C API模型部署完整流程
rknn·模型部署·c api
程序猿编码6 天前
不用 GPU!RK3588 跑视觉大模型,Qwen3.5-2B VLM 端侧落地
大模型·llm·rk3588·qwen·推理·vlm
深圳市爱派派智能科技有限公司7 天前
告别部署繁琐:LlamaPi 一键搭建本地 Agent 推理底座
rk3588·agent·openai api·本地部署·边缘ai·端侧大模型·llamapi
星野云联AIoT技术洞察7 天前
RK3588 边缘 AI 盒子适合什么工业视觉场景
计算机视觉·边缘计算·rk3588·语音识别·图像识别·边缘网关·边缘计算盒子
企鹅的蚂蚁8 天前
LubanCat RK3588 实时 Linux 开发实战(十四):EtherCAT 主站方案选择与 Full SDK 准备
rk3588·lubancat·嵌入式linux·ethercat·full sdk
企鹅的蚂蚁9 天前
LubanCat RK3588 实时 Linux 开发(七):YT6801 PCIe 网卡驱动移植与 vermagic 排查
linux·rk3588·linux驱动·yt6801·pcie网卡·vermagic
程序猿编码9 天前
扔掉 Python!纯 C++ 本地跑扩散 TTS,GGML 加持,支持 RK3588 NPU 加速
c++·计算机视觉·大模型·transformer·rk3588·推理·ggml
企鹅的蚂蚁10 天前
LubanCat RK3588 实时 Linux 开发(九):从 U-Boot 到 initramfs 的串口启动故障分析
linux·rk3588·u-boot·串口调试·initramfs·linux启动
企鹅的蚂蚁13 天前
LubanCat RK3588 实时 Linux 开发(六):启用 gs_usb 驱动并完成 USB-CAN 收发
linux·rk3588·linux驱动·socketcan·gs_usb·usb-can