海思 AI 芯片 (Hi3559A V100) 算法开发(一)
摘要
最近着手在海思的 AI 芯片上实现算法,本次项目主要是实现智能门锁的人脸识别,不过我们不着急,先把与算法关系不大的部署工作完成,才能更好的进行后续的工作。工作开始前,日常在网上找资料,发现一位博主在一年前也同样进行了海思 AI 芯片的开发(只是型号不一致,博主的内容主要以 Hi3519AV100 为主),为了少走弯路,参阅了该博主的思路
海思AI芯片(Hi3519A/3559A)方案学习
芯片系列介绍
Hi35xx 主要指海思的 AI 芯片系列,其中有 Hi3559AV100 和 Hi3559CV100 以及 Hi3519AV100 、Hi3556AV100 等等,其中的 Hi3559AV100 和 Hi3559CV100 的区别为封装不一样,功能是一致的。但其中的算法开发部分应该是系列通用的。
专业名词介绍
一开始接触芯片自然想到的就是有一个开发环境,于是作者翻开了 《HiSVP 开发指南》 ,想先把开发算法的环境搭建起来。映入眼帘的就是 “DSP 开发指南”,(DSP芯片,指能够实现数字信号处理技术的芯片)
SVP、DSP:
首先,SVP(Smart Vision Processing)平台是海思媒体处理芯片智能视觉异构加速平台。DSP (Digital Signal Process)是 SVP 平台下的可编程硬件加速模块。用户基于 DSP 开发智能分析方案可以加速智能分析,降低 CPU 占用。 也就是说我们可以先略过 DSP 开发部分,在某些对速度要求特别高或者需要开发算子的时候,再特殊使用 DSP 开发。
**Hi3516CV500/Hi3516DV300/Hi3559V200 不支持 DSP。
NNIE 介绍:
NNIE 的全称是 Neural Network Inference Engine,是华为海思Soc(Soc:集成芯片)针对神经网络(特别是卷积神经网络)开发的加速处理的硬件单元,支持大部分神经网络。同时作为加速处理的硬件,自然有相应配套的软件,但只支持 Caffe 框架,其他框架的模型需要进行转换。
至于如何安装下一篇文章会进行介绍
HIMPP 功能专业名词介绍:
MPP:Media Processing plaform 多媒体处理平台 和 音视频H264编码等相关
文件资料介绍
第一部分:gcc,交叉编译器,不用多说
第二部分:各种操作文档,包括 HiSVP 开发指南.Text.Marked、WM_HiSVP API 参考 等等,以及其他大量资料,AI 方面看这两篇就差不多了
第三部分:里面有 HiDPU_PC_V1.0.0.1 、HiIVE_PC_V2.1.0.8_64bit_sec、HiSVP_PC_V1.1.3.0
我们主要介绍 HiSVP_PC_V1.1.3.0 ,里面有nnie的转换,仿真等工具软件。下一篇的博文也会用该文件夹来进行nnie 的安装
第四部分:Hi3559AV100R001C02SPC031 下面有软件开发包,SDK,uboot烧写,tune PQ之类的工具
以上已经对一系列的名词进行了讲解,接下来我们将寻找 NNIE 的软件包,其中,有以下工具链:
mapper(location:tool\nnie\linux\mapper),这个工具主要是可以将我们训练的模型转化成 Hi35xx 芯片或者仿真库可以加载的文件(.wk 后缀名)
- 仿真库(location:software\x64),省去放到硬件上的步骤,让你可以在 PC 端直接看到代码的结果。有基于 VS 和 MinGW 版本,后者集成在 RuyiStudio 中。而我们就采用 RuyiStudio 来进行我们的算法开发。
- 仿真 Sample 工程(location:software\sample_simulator),包含仿真的简单源代码让我们观看学习,支持 VS 或者 RuyiStudio 运行
- 模型包(location:software\data):包含 sample 工程中用到的网络模型文件以及对应的 NNIE mapper 配置文件,wk,图像文件等
- RuyiStudio(location:tool\nnie\windows)windows 版的 IDE 。有仿真库,mapper 等功能
RuyiStudio 安装
这个 IDE 不需要安装,华为已经打包好,解压即可
再直接点击 exe 即可运行
到这一步我们就可以运行 IDE 了,然后我们翻到开发指南的第五章:RuyiStudio 工具使用指南
这一步 Ruyi 提供了一键配置环境的功能,但配置环境之前我们需要先下载一些东西。
安装 wget
进入网站 http://gnuwin32.sourceforge.net/packages/wget.htm
安装wget 的 Complete package, except sources 版本,双击进行安装,最好使用默认安装,毕竟文件也没多大。根据个人的使用经验与猜测,wget 是用于快捷搭建环境的一个小工具,若有错误请指正。
安装好了以后,我们将刚刚安装的目录下的 wget.exe 所在的目录添加到环境变量中,也就是 我的电脑右键 -> 属性 -> 高级系统设置 -> 环境变量
做完这一步我们还没完,点击 PATH ,将 %WGET_PATH% 加入其中
这样,我们就可以使用一键配置环境功能,自动下载 mingw 和 msys
打开与 Ruyi 文件夹同一个目录下的 ruyi_env_setup-2.0.38,双击 setup_mingw 即可快捷下载,并自动配置好环境变量
Python 3.5 + Caffe 环境配置
从 https://github.com/willyd/caffe-builder/releases 下载 libraries_v140_x64_py35_1.1.0.tar.bz2
不过下载得很慢,还容易失败
下载好了以后,将文件放入到 ruyi_env_setup-2.0.38 文件夹下即可
最后双击 setup_python 完成自动环境配置
在搭建 python+ caffe 环境可能会遇到的问题
记得检查 log 文件,有可能有些文件下载失败但没显示,需要根据说明文件手工下载
在按以上操作做完以后,可能会存在红色的警告,Cython-0.28.5-cp35-cp35m-win_amd64 安装失败等,
检查 pip 支持字符与文件名保持一致
先输入 python ,我们就可以看到自己的 python 版本,查看版本是否为 35,因为文件名为 cp35 对应的是 python3.5,再检查包是否与 python 的位数一致,比如都是 amd64 ,或者 32 位
再检查文件名是否与 pip 对应,通过以下命令检查
import pip._internal
print(pip._internal.pep425tags.get_supported())
结果表明,本地Python支持的安装包包括cp35、cp35m、amd64等
如果以上没有问题,那主要问题可能是你的 pip 版本问题,
但我们直接使用 python -m pip install —upgrade pip 可能会失败,或者说显示成功了,但运行的时候还是老版本
我们可以通过以下命令保证更新 pip 的成功率
curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py
python get-pip.py
使用 pip 安装的时候可能还会出现 : not present. 的问题,输入以下命令即可
easy_install pip
前提是python已经配置了环境变量。
最后安装 whl 即可
pip install "xxx.whl"
- 分享
- 举报
-
2024-01-06 10:44:04
-
2024-01-06 11:14:41
-
浏览量:2362次2022-01-10 09:00:16
-
浏览量:7269次2018-06-14 23:13:10
-
浏览量:3632次2022-01-04 09:00:18
-
2018-04-04 14:06:53
-
浏览量:4302次2018-03-31 20:59:15
-
浏览量:3860次2020-08-24 21:15:04
-
2018-06-18 22:47:22
-
浏览量:6395次2018-06-14 22:53:53
-
浏览量:2831次2020-08-10 09:28:54
-
浏览量:3584次2020-07-27 15:19:53
-
浏览量:1073次2024-01-04 17:47:00
-
浏览量:1808次2021-01-04 15:04:02
-
浏览量:9459次2018-06-02 19:08:30
-
浏览量:10795次2022-08-12 15:15:09
-
浏览量:14117次2019-09-21 19:14:57
-
2020-08-10 09:21:07
-
浏览量:1505次2022-01-17 09:01:34
-
广告/SPAM
-
恶意灌水
-
违规内容
-
文不对题
-
重复发帖
张显显
感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~
举报类型
- 内容涉黄/赌/毒
- 内容侵权/抄袭
- 政治相关
- 涉嫌广告
- 侮辱谩骂
- 其他
详细说明