《【北京迅为】itop-3568开发板NPU使用手册》系统性地介绍了RKNPU从入门到应用开发的全流程知识体系。本手册以“认识工具—构建环境—模型转换—部署实践”为主线,为开发者在Linux和Android双平台上提供完整的NPU应用开发指导。

本手册既适合嵌入式AI开发初学者系统学习,也可作为高级开发者的技术参考,帮助开发者高效利用RKNPU实现各类AI应用的部署与优化。


【公众号】迅为电子

【交流群】861311530

【视频展示】【【北京迅为】基于RK3568/RK3588开发板的AI图像识别方案】 

【视频教程】【AI深度学习推理加速器】——RKNPU2 从入门到实践(基于RK3588和RK3568)

完整教程及配套资料,关注我的B站👉【北京迅为电子】或公众号,回复【RKNPU2】即可领取,你的关注是我更新的最大动力~


第1章 你好!NPU

1.1 NPU的诞生!

什么是NPU呢?

在谈这个问题之前,可以先来看看什么是CPU和GPU,CPU就是中央处理器,中央处理器就好像是人类的大脑,主要负责各种逻辑控制和任务调度。所以CPU的计算能力相对来说不是最强的。GPU是图形处理器,顾名思义,图形处理器是用来处理图形的,那处理图形就要涉及到大量的计算,所以GPU相对CPU来说更擅长计算,但是不擅长逻辑控制和调度。从这方面来讲就可以说GPU是CPU的互补。

但是随着人工智能,大数据的时代来临,以前嵌入式处理器中的CPU和GPU渐渐的难以满足与日俱增的需求,尤其是深度学习方面。为了应对日渐增长的需求,NPU就诞生的了。如下图所示:

NPU英语全称为Neural Process Unit,译为神经网络处理器。NPU是在电路层来模拟人类的神经元和突触,所以特别擅长处理人工智能任务。

NPU的诞生大大的降低了CPU和GPU的负担,任何的工作首先要经过CPU,然后CPU在根据这个任务的性质来决定是分给GPU还是NPU,如果是图像处理器方面,就分给GPU,如果是人工智能方面,就分给NPU。

NPU的应用场景非常的广泛,如人脸跟踪、手势和身体跟踪、图像分类、视频监控、自动语音识别(ASR)和先进的驾驶员辅助系统(ADAS)等等。

1.2 初识RKNPU

为了满足人工智能的需要,瑞芯微的处理器也逐渐集成了NPU,瑞芯微的处理器内置的NPU,称之为RKNPU。

RKNPU经过了几代的发展,首代初次引入了RKNPU是从RK3399pro和RK1808开始的,相比传统的CPU和GPU,在深度学习运算能力上有比较大幅度的提升。接下来在RV1109和RV1126上使用了第二代NPU,提升了NPU的利用率。第三代NPU应用在RK3566和RK3568上,搭载全新NPU自研架构。

RKNPU发展过程如下图所示:

瑞芯微RK3568芯片内置NPU,是RKNPU第三代的代表产品。第三代RKNPU特点如下所示:

搭载全新自研架构
支持整数8、整数16卷积运算
内置的NPU支持INT8/INT16混合操作
推理工具支持:TensorFlow, Caffe, Tflite, Pytorch, Onnx NN, Android NN等等
高达1 TOPS的神经网络加速处理性能

RK3568NPU是单个核心,包含CNA模块、 DPU 模块、PPU模块。

CNA模块全称是Convolution Neural Network Accelerator,也就是卷积神经网络加速器。

DPU模块全称是dada processing Unit,也就是数据处理单元。

PPU模块全称是Pooling Processing Unit,这个单元主要做Polling操作

NPU框图如下图所示

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐