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

接着写未写完的部分,一直业务太忙,延期了两周才写这一篇。

   本篇主要写一下模型量化后的仿真部分。海思在RS工具里提供了simulation方式对量化后的模型进行功能仿真(func sim)和指令仿真(inst sim),在板卡上跑之前就可以做模型的仿真,提前看到效果。

主要目的认为是两个:1)模型识别功能的验证;2)模型识别阈值的调整。

   打个小广告:

        海思hi3519av100开发板链接:

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

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

      

   

进入正题!

仿真之前需要先做一下仿真配置,配置文件在我们板卡提供的  ...hisilicon/nnie_sim.ini中。

RS提供了图形化配置方式,其实可配置的东西就是要使能CUDA 加速,前提是电脑有显卡。

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

然后我们直接打开提供的sample工程,在 ...\software\sample,这样省去了很多需要的动态链接库的配置。

没有必要自己全从头到尾配一遍。

打开sample_similator 工程,在 src/main.cpp 中修改如下:

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

其他模型都注释掉,留下 SvpSampleCnnDetYoloV3();

 

src/SvpSampleDetectionOneSeg.cpp  中修改对应的模型和测试用的数据路径

 

测试用数据路径,下面我们再具体说测试数据的问题。

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

Inst和func用模型选择,现在是做指令仿真,选inst模型修改就可以。

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

仿真工程需要切换到inst方式,右键选择

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

 

修改测试列表中的测试数据,此处配置的是     { "../../data/detection/yolov3/image_test_list.txt" },

 

对应文件在 data/detection/yolov3

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

此处列出需要仿真的文件表,必须是bgr格式的,测试用的数据的BGR格式的图片已经提供了几个。

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

设置完成后开始仿真

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

 

 

仿真后结果存储在

..\3519A\software\sample_simulator\sim_out\result_SVP_SAMPLE_YOLO_V3。输出结果如下,模型层和阈值是改过的,大家的输出结果不一定一样。

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

 

此外对于模型的阈值设置等可以查看 src/SvpSampleYolov3.cpp 文件,此处就不详细介绍了。

下一篇我们会讲一讲如何在板卡中把生成的 *.wk文件用上,并实时在开发板中运行。

 

你可能感兴趣的:(Caffe,人工智能-神经网络算法)