海思 AI 芯片 (Hi3559A V100) 算法开发(一)

海思 AI 芯片 (Hi3559A V100) 算法开发(一) 张显显 2024-01-07 09:54:00 238

摘要

最近着手在海思的 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"
声明:本文内容由易百纳平台入驻作者撰写,文章观点仅代表作者本人,不代表易百纳立场。如有内容侵权或者其他问题,请联系本站进行删除。
红包 1 1 评论 打赏
评论
0个
内容存在敏感词
手气红包
    易百纳技术社区暂无数据
相关专栏
置顶时间设置
结束时间
删除原因
  • 广告/SPAM
  • 恶意灌水
  • 违规内容
  • 文不对题
  • 重复发帖
打赏作者
易百纳技术社区
张显显
您的支持将鼓励我继续创作!
打赏金额:
¥1易百纳技术社区
¥5易百纳技术社区
¥10易百纳技术社区
¥50易百纳技术社区
¥100易百纳技术社区
支付方式:
微信支付
支付宝支付
易百纳技术社区微信支付
易百纳技术社区
打赏成功!

感谢您的打赏,如若您也想被打赏,可前往 发表专栏 哦~

举报反馈

举报类型

  • 内容涉黄/赌/毒
  • 内容侵权/抄袭
  • 政治相关
  • 涉嫌广告
  • 侮辱谩骂
  • 其他

详细说明

审核成功

发布时间设置
发布时间:
是否关联周任务-专栏模块

审核失败

失败原因
备注
拼手气红包 红包规则
祝福语
恭喜发财,大吉大利!
红包金额
红包最小金额不能低于5元
红包数量
红包数量范围10~50个
余额支付
当前余额:
可前往问答、专栏板块获取收益 去获取
取 消 确 定

小包子的红包

恭喜发财,大吉大利

已领取20/40,共1.6元 红包规则

    易百纳技术社区