HiSi 3516CV500 NNIE(Neural Network Inference Engine) 摸鱼记录(1) --- 环境搭建

#PS:要转载请注明出处,本人版权所有

#PS:这个只是 《 我自己 》理解,如果和你的

#原则相冲突,请谅解,勿喷

背景

深度学习的爆发期已经到了瓶颈了,为啥这样说,因为没有突破性的理论进展,都是靠着网络更深、更广,算力更强大来做相应的功能。至少在我的世界观里面是这样的,虽然这样的认知可能会有局限性,或者说是错误的。

现在深度学习的方向已经不是以前的泡沫鼓吹了,而是落地,踏踏实实的把实验室的东西转换为实际对社会有用的东西,这才是深度学习的现在的实际情况。

要做相关的落地,在大部分应用场景来说,是不能够直接弄台服务器+GPU的方式来做相关的计算的,这样部署维护和成本都是一个很大的问题,现在其实大部分的场景需要的是低成本、小型化。就现在来看,其实就是移动手机平台和其他嵌入式板子平台是一个主流的方向。比如,手机端的:换脸啊、表情啊、化妆啊等等;板卡端的:依托于人脸识别的广告机啊、闸机啊等等。这里面的核心就是要在这些小型设备上做相关的算法运算。

在这些小型设备上做运算,有一个问题就是算力的问题,这些小型设备功耗低、算力低,很可能就是算法表现比较差。还好,很多大佬在很久以前就考虑到这些问题了,出了很多硬件加速的东西。如:Nvidia的TX TK系列、瑞芯微的RK系列、HiSi的Hi3559,Hi3519,Hi3516系列以及其他的Android手机SOC里面带的相关的NPU等等。

所以,为了把HiSi平台的相关深度学习硬件加速功能用起来,我们得把HiSi的NNIE利用起来完成这个功能。

NNIE简介

NNIE是 Neural Network Inference Engine 的 简 称 是 海思 媒体 S oC 中 专门针对神经网
络特别是深度学习卷积神经网络进行加速处理的硬件单元。----- 摘自hisi sdk svp部分《HiSVP开发指南.pdf》

NNIE 工作流程简介

海思提供了一个NNIE Mapper的工具(Linux , Win都有)。由于NNIE只支持Caffe框架,我们需要的是把Caffe的模型转换为NNIE可以使用的模型。

在我们转换的时候,需要我们提供一个NNIE转换的配置文件,然后根据配置文件把相关的caffe模型转换为NNIE的模型。然后我们在板子上加载这个模型,调用相关的API就可以完成这个网络的加速计算。

NNIE 环境搭建

工欲善其事必先利其器。NNIE最开始接触的时候,我觉得贼难受,觉得很难。但是当你把环境配置好了,你就会觉得事半功倍,很舒服。

以下内容,我都是按照HISI SDK的SVP部分的《HI SVP开发指南.pdf》做的,只是由于时效性的原因,有些内容需要做一定的改变适应才行。

我这里根据我的摸鱼经验,我建议萌新第一步,先把RuyiStudio配置起来,这里面带了所有和NNIE开发的工具。

RuyiStudio 简介

以下是RuyiStudio官方介绍:
RuyiStudio 集成 windows 版 的 NNIE mapper 和 仿真库, 具有 生成 NNIE wk 功能、 仿真
NNIE 功能,同时 具有 代码 编辑、编译、调试、执行 功能 、 网络拓扑显示、目标检测画
框、 向量 相似度 对比、 调试 定位 信息获取等功能 。

RuyiStudio ----- MinGW安装

这里我建议选择手动安装,下载MinGW的对应版本,解压到一个无中文路径的目录下。然后下载对应MinGW的msys,解压到MinGW的根目录下。这里直接按照文档给的内容走即可。这一步无明显的坑。

RuyiStudio ----- Python 3.5 与CAFFE安装

这一步是最坑的一步。所以这步我会一一按照文档介绍说明。

这一步必须按照手动配置方式,一键脚本配置,我建议有能力的小伙伴使用,纠错有难度。

RuyiStudio-2.0.28.zip 解压运行

打开RuyiStudio.exe得到如下的界面,常用的几个点就如图所示,至于怎么完成后续工作。请看后续文章。
在这里插入图片描述

#PS:请尊重原创,不喜勿喷

#PS:要转载请注明出处,本人版权所有.

有问题请留言,看到后我会第一时间回复

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章