如何在海思 Hi3519AV100上移植YOLOV3 (1)

     HI3519AV100包含了深度学习的NNIE内核,算力为2TOPS,是目前同等算力下性价比最好的平台之一。公司产品已经可以实时运行YOLO V3,写这个系列的原因在于帮助我们开放平台下的开发者用户及公司新入职员工的使用培训,可以更快速的使用开发板进行模型的部署。

   打个小广告:

        海思hi3519av100开发板链接:

https://item.taobao.com/item.htm?spm=a230r.1.14.117.4afe75a61WreAX&id=586610485052&ns=1&abbucket=1#detail

    除了SDK与底板图纸之外我们提供了EMMC文件配置和摄像头采集到RFCN深度神经网络的物体识别和HDMI显示的完整代码,帮助开发者快速部署模型。

      如何在海思 Hi3519AV100上移植YOLOV3 (1)_第1张图片

    此篇为开篇,主要介绍都需要哪些关联的软件需要安装,环境怎么去搭建。

    首先说明的是海思的文档中其实写的特别特别详细,大家可以去看详细的文档,我们重新写这个的目的是减少时间,只把关键的几个点写出来,如果怕安装出问题,可以阅读海思的详细文档。

海思相关的文档在 ..\Hi3519A V100R001C02SPC010\ReleaseDoc\zh\01.software\board\SVP 中的 “HiSVP 开发指南.pdf”。

如何在海思 Hi3519AV100上移植YOLOV3 (1)_第2张图片

    Hi3519A目前支持的深度学习框架只有caffe,那两个文件是必不可少的:训练完成后 *.caffemodel,*.prototxt是必须要有的。

    海思提供了一个mapper工具和一个simulation工具可以对模型进行量化和仿真。这两个工具都在海思提供的 RuyiStudio中,所以后面使用的软件就是RuyiStudio,以下简称RS。

RS是不需要安装的,直接解压就可以用,但是需要提前装好很多配置环境。

提前需要装的部分如下:

1. CUDA

2. CuDnn

3. OpenCV

4. wget

5. MinGW-w64

6. Msys

7. Python3.5

8. Caffe

9. VisualStudio2015

此部分软件为了方便使用我们会整理后上传到百度网盘。到时连接会贴到此博文中。

另外一点是如果不想出错就完全按照海思要求安装版本。

环境配置的过程后面有时间的时候会补充进来,着急用的朋友就看海思的文档吧。

----  YOLO V3移植-----

模型移植之前我们首先要做几件事情,

1)首先得有自己的模型或者用官方提供的模型也可以;

2)模型导入到RS中,做模型的mapper,生成 *.wk文件;

3)做mapper后的模型文件的仿真验证;

4)部署到板卡中运行。

一般在SVP中已经有YOLO V3的demo,至少我们提供的板卡上是有这个文件的。

直接在RS中打开工程文件,SDK中的路径为

..\Hi3519A V100R001C02SPC010\SVP_PC\HiSVP_PC_V1.2.0.5\software\sample_runtime

工程名称为.cproject .project

快速上手:

1)工程文件中首先找到*.cfg文件,在 sample_runtime\data\detection\yolov3 中,

此文件用来配置caffemodel转 *.wk 文件前的基本配置。

查看方式:右键—open with—mapper configuration editor

如何在海思 Hi3519AV100上移植YOLOV3 (1)_第3张图片

三个部分组成:

1) Input Setting: 

    Caffemodel:  ./../data/detection/yolov3/model/yolov3.caffemodel   训练好的模型

    Marked_prototxt:  ./../data/detection/yolov3/model/yolov3.prototxt   mapper验证过的模型,海思会验证网络层是否满足转化要求,定义了几个可转化的网络层,自定义的层需要自己转,这部分后面会专门写一章来说明。

   在上面按钮中点击“Mark”可以调出网络可视化窗口。

   Output_wk_name:  ./../data/detection/yolov3/inst/****    输出 *.wk 文件的路径

2) mapper setting

       mapper过程需要的配置参数: 这里列出来对应到说明文档中的页数,详细介绍可以查看说明材料。

       Compile_mode: p123  高精度、低带宽、自定义

       Log_level: p125

       Align_bytes(align_size):p143  

       Batch_num:p123  

       Sparse_rate:p123  模型稀疏率

3)data

      定义了模型量化过程中的参考图片等内容。其中一个比较重要的是输入图片格式和RGB颜色方式一定要选对,不然模型出来后板卡上跑不出来或识别效果特别差。

       Image_type: p122  输入图片类型

      RGB_order:p125  RGB色彩方式

       Image_list: p121   ../data/detection/yolov3/image_***_list.txt

      Norm_type: p122

      Mean_file: p123

 

配置好cfg后就可以点击 make WK按钮就可以生成 *.wk文件了。

底部状态栏里会显示出模型生成成功的信息。

此篇讲到的模型mapper的过程,会增加一些细节性的说明和截图进行补充,再把关联的安装文件上传到云盘供下载。

下一篇会写如何在RS中进行模型功能仿真。

你可能感兴趣的:(HI3519A,AI,人工智能-神经网络算法,嵌入式AI)