海思AI芯片(Hi3516DV300/CV500)开发(1.资料介绍)
目录1、SVP资料介绍1.1 SVP 简介1.2 开发框架1.3 开发流程2、Hi3516DV300/CV500SDK内容介绍1、SVP资料介绍1.1 SVP 简介SVP(Smart Vision Platform)是海思媒体处理芯片智能视觉异构加速平台。该平台包含了CPU、 DSP、 NNIE(Neural Network Inference Engine)等多个硬件处理单元和运行在这些硬件上 SDK 开发环境,以及配套的工具链开发环境。软件开发接口介绍请参考“ReleaseDoc\zh\01.software\board\SVP\HiSVP API参考”。不同芯片下的 SVP 硬件资源如图1-1
image图1-1本项目采用的是Hi3516DV3100, 所以后续文章都是基于款芯片NNIE的进行SVP开发。 3516DV里面的硬件NNIE(Neural Network Inference Egine)是海思媒体 SoC 中专门针对神经网络特别是深度学习卷积神经网络进行加速处理的硬件单元,可以定点并行运算来进行深度学习算法模型推理,支持现有大部分的公开网络,如 Alexnet、 VGG16、 Googlenet、 Resnet18、Resnet50 等分类网络, Faster RCNN、 YOLO、 SSD、 RFCN 等检测网络,以及 SegNet、 FCN 等场景分割网络。目前 NNIE 配套软件及工具链仅支持以 Caffe 框架,使用其他框架的网络模型需要转化为 Caffe 框架下的模型。1.2 开发框架SVP 开发框架如图1-2所示。目前 SVP 中包含的硬件处理单元有 CPU、 vision DSP、NNIE,其中某些硬件可能有多核。不同的硬件有不同的配套工具链,用户的应用程序需要结合这些工具的使用来开发。
image图1-21.3 开发流程以 Caffe 框架上训练的模型为例, NNIE 的开发流程如图 1-3 所示。在 Caffe 上训练、使用 NNIE 的 mapper 工具转化都是离线的。通过设置不同的模式, mapper 将*.caffemodel 转化成在仿真器、仿真库或板端上可加载执行的数据指令文件。一般在开发前期,用户可使用仿真器对训练出来的模型进行精度、性能、带宽进行初步评估,符合用户预期后再使用仿真库进行完整功能的仿真,最后将程序移植到板端。
image图1-32、Hi3516DV300/CV500SDK内容介绍
image图2-11)Hi3516C V500R001C02SPC010 它的子目录software\board下面有3516CV500的软件开发工具包:Hi3516C V500R001C02SPC011\01.software\board\Hi3516CV500_SDK_V2.0.1.1.tgz非常重要。 此外01.software\pc子目录下一些如uboot烧写,tune PQ之类的工具。2)ReleaseDoc.rar 开发手册。3)toolchain.part1.rar和toolchain.part2.rar 它是交叉编译器( 解压part1,part2 会跟着自动解压),运行linux环境中 。4)它解压后有个和AI相关的重要目录:SVP_PC\HiSVP_PC_V1.2.2.2.tgz, 里面有nnie的转换,仿真等工具软件。关注公众号“stiveallen”,回复Hi3516”,即可免费领取Hi3516DV300SDK开发资料包。海思AI芯片(Hi3516DV300/CV500)开发(2.RuyiStudio安装)