相关资源
官网
PDF下载
- 了解产品/Atlas 200 用户指南.pdf
- 了解产品/华为服务器 安全信息.pdf
- 安装升级/Atlas 200 DDK安装指南(CentOSX86).pdf
- 安装升级/Atlas 200 DDK安装指南(UbuntuX86).pdf
- 安装升级/Atlas 200 源码编译安装指南.pdf
- 安装升级/Atlas 200 软件开发指南.pdf
- 参考指南/Atlas 200 IDE-daemon-client命令参考.pdf
- 二次开发/Atlas 200 DVPP API参考.pdf
- 二次开发/Atlas 200 GE API参考.pdf
- 二次开发/Atlas 200 Matrix API参考.pdf
- 二次开发/Atlas 200 TE API参考.pdf
- 二次开发/Atlas 200 TE自定义算子开发指导 (命令行方式).pdf
- 二次开发/Atlas 200 应用软件开发指导书.pdf
- 二次开发/Atlas 200 模型转换指导.pdf
- 二次开发/Atlas 200 硬件开发指南.zip
- 二次开发/Atlas 200 算子清单.pdf
- 二次开发/Atlas 200 高性能应用编程用户手册.pdf
文章收集
初步了解
Atlas 200 DK
华为Atlas 200 DK AI开发者套件是以昇腾310芯片为核心的一个开发者板形态产品,帮助AI应用的开发者快速熟悉开发环境。
其主要功能是将昇腾310芯片的核心功能通过该板上的外围接口开放出来,方便用户快速简捷的接入并使用昇腾310芯片强大的处理能力。
Atlas 200 DK配备一个核心部件Atlas 200 AI加速模块,通过高速连接器将昇腾310芯片的主要业务接口通过底板扩展出来。
得益于昇腾芯片的全栈全场景能力,基于Atlas 200 DK AI开发者套件开发的程序只需一次开发,即可实现端、边、云全场景部署。
可以运用于平安城市、无人机、机器人、视频服务器、闸机等众多领域的开发。
昇腾310 AI芯片
华为在全联接大会2018上,首次宣布了华为的AI战略以及全栈解决方案。与此同时,华为发布了自研云端AI芯片“昇腾(Ascend )”系列,基于达芬奇架构,首批推出7nm的昇腾910以及12nm的昇腾310。
昇腾310芯片的最大功耗仅为8W,主打极致高效计算低功耗AI芯片。半精度(FP16)运算能力8TFLOPS,整数精度(INT8)16TOPS,支持16通道全高清视频解码(H.264/265)。
Mind Studio
Mind Studio是一套基于华为昇腾AI处理器开发的AI全栈开发平台,提供了自定义算子的开发,网络层的网络移植、优化和分析等功能,另外在业务引擎层提供了一套可视化的AI引擎拖拽式编程服务,内置了丰富的高性能算子库,极大的降低了AI应用程序的开发门槛。
Mind Studio是基于Eclipse CHE架构的集成开发环境。
其中:
DDK(Device Development Kit),为开发者提供了基于Ascend芯片的算法开发工具包,包括Host侧及Device侧开发编译时所依赖的库,开发机(UI Host)使用的工具及依赖库,以及一些公共头文件、第三方依赖库、DDK样例等
其中:
Host指与Device相连接的X86服务器、ARM服务器或者WindowsPC,会利用Device提供的NN(Neural-Network)计算能力完成业务。
Device指安装了Ascend 310处理器的硬件设备,利用PCIe接口与Host侧连接,为Host提供NN计算能力。
对于Atlas 200 DK,Ascend 310处理器所在硬件设备与与之相连接的ARM服务器合设,统称为Host。
开发机(UI Host):指Mind Studio所在服务器。
Mind Sutdio的IDE Plugins集成了层的各个工具模块(如模型管理工具(OMG/OME)、调试器、性能分析工具、日志工具、性能调优工具等),为用户提供简洁、友好的图形化编码、编译、调试、性能分析平台
环境搭建准备
教程学习
整体架构
安装介质及工具下载
- MindStudio & DDK & Runtime下载
- 制卡脚本下载
- Ubuntu16.04.3下载
注意,下载:
- ubuntu-16.04.3-desktop-amd.iso
- ubuntu-16.04.3-server-arm64.iso
MindStudio部署
安装Ubuntu系统
- MindStudio需要安装在Ubuntu系统下
- 版本号最好是16.04.3,且与接下来的SD卡中的Ubuntu系统版本号保持一致
- 可以使用虚拟机方式安装,也可以直接装到PC机上
安装依赖
1 | sudo apt-get install gcc g++ cmake curl libboost-all-dev libatlas-base-dev unzip haveged liblmdb-dev python-skimage python3-skimage python-pip python3-pip libhdf5-serial-dev libsnappy-dev libleveldb-dev swig python-enum python-future make graphviz autoconf libxml2-dev libxml2 libzip-dev libssl-dev sqlite3 python |
安装JDK
1 | sudo apt install openjdk-8-jdk |
1 | vi ~/.bashrc |
注意,必须添加JAVA_HOME和PATH
添加sudoers权限
1 | su root |
安装MindStudio
介质准备:
- mini_mind_studio_Ubuntu.rar
- MSpore_DDK-1.3.T34.B891-x86_64.ubuntu16.04-aarch64.ubuntu16.04-aarch64.ubuntu16.04.tar.gz
注意先提前解压
mini_mind_studio_Ubuntu.rar
将MSpore_DDK
放置到相同目录即可,不要解压
执行安装脚本:
1 | sudo ./add_sudo.sh yourname |
配置交叉编译环境
如果接下来制卡所用到的的Host主机和安装MindStudio的主机是同一台,则可以省略掉此步骤
- 解压
HuaweiAscend-tools-master.zip
su -
到root用户下- 安装依赖并执行
make_ui_cross_env.py
脚本1
2
3
4
5pip3 install pexpect
apt-get install -y gcc-aarch64-linux-gnu g++-aarch64-linux-gnu
python3 make_ui_cross_env.py
制卡
硬件准备
提前采购:
- TF卡,16G以上
- 树霉派兼容摄相头
安装依赖
1 | sudo apt-get install qemu-user-static binfmt-support python3-yaml gcc-aarch64-linux-gnu g++-aarch64-linux-gnu |
介质准备
- ubuntu-16.04.3-server-arm64.iso
- mini_developerkit-1.3.T34.B891.rar
- HuaweiAscend-tools-master.zip
放到同一目录下,只解压
HuaweiAscend-tools-master.zip
制做SD卡
- 解压
HuaweiAscend-tools-master.zip
,得到make_sd_card.py
与make_ubuntu_sd.sh
- fdisk -l命令查找SD卡所在的USB设备名称,例如/deb/sdb
- 执行制卡脚本
1
python3 make_sd_card.py local /dev/sdb`
USB虚拟网卡方式连接Atlas200DK
- 将SD卡插入AtlasDK,上电
- 使用USB TypeC链接AtlasDK
- 执行IP配置脚本
./configure_usb_ethernet.sh
,为虚拟网卡分配一个192.168.1.166
的IP地址 ping 192.168.1.2
测试默认的USB网卡的IP地址为192.168.1.2,NIC网卡的IP地址为192.168.0.2
网线方式连接Atlas200DK
- 使用网线连接Atlas DK
- 若使用虚拟机,再添加一个虚拟网卡,类型为Bridged,桥接到物理有线网卡上。
- 修改/etc/network/interface配置,添加一个192.168.0网段的虚拟IP
1
2
3
4
5
6vi /etc/network/interface
auto enp0s6
iface enp0s6 inet static
address 192.168.0.13
netmask 255.255.255.0 - 修改NetworkManager.conf
1
2vi /etc/NetworkManager/NetworkManager.conf
managed=true - 重启服务
1
2service networking restart
service NetworkManager restartSSH登录开发板
1
ssh HwHiAiUser@192.168.0.2
默认密码 Mind@123
使用Mind Studio
启停MindStudio
1 | ~/tools/bin/start.sh |
Mind Studio
接下来可以在Ubuntu中直接使用Chrome浏览器打开MindStudio Web页面
如果使用虚拟机方式安装的Ubuntu,也可以宿主机中打开页面
MindStudio https://10.211.55.13:8888/
初始用户名密码为: MindStudioAdmin/Huawei123@ ,新密码改为: yourpassword
注意,需要使用Chrome浏览器,不能用FireFox访问
IP地址,端口在~/tools/script/env.conf
中配置
Profiling工具
MSVP https://10.211.55.13:8099
初始用户名密码为: msvpadmin/Admin12#$ ,新密码改为: yourpassword
简单编排案例
- 新建工程,注意Target选择AtlasDK
- 拖拉拽
- Build -> Run
- 可以在最后一个节点右键查看结果
图像分类应用
clone示例应用及模型到Host
1
2git clone https://github.com/Ascend/sample-classification
git clone https://github.com/Ascend/models/blob/master/computer_vision/classification/alexnet/alexnet.om注意在GitHub上下载模型时,由于是大型二进制文件,所以默认启用了Git LFS,不能直接clone
配置环境变量
1
2
3
4
5vi ~/.bashrc
export DDK_HOME=/home/yourname/tools/che/ddk/ddk
export LD_LIBRARY_PATH=$DDK_HOME/uihost/lib
source ~/.bashrc运行部署脚本
1
./deploy.sh 192.168.0.2 internet
internet是指在线部署,需要全程联网
将模型git/models/computer_vision/classification/alexnet/alexnet.om
上传到Device的~/models
目录
将Host中的模型/home/yourname/Downloads/Resnet18.om
上传到Device的~/models
目录准备好一张示例图片,分辨率为224*224,上传到Device的
~/HIAI_PROJECTS/ascend_workspace/classification/out
目录
SSH到Atlas200DK,并执行示例应用
1
2
3
4
5
6
7ssh HwHiAiUser@192.168.0.2
# Mind@123
cd ~/HIAI_PROJECTS/ascend_workspace/classification/out
~~python3 run_classification.py -m ~/models/alexnet.om -w 227 -h 227 -i ./sonic.jpg -n 10~~
python3 run_classification.py -m ~/models/Resnet18.om -w 224 -h 224 -i ./224x224.jpg -n 10
目标检测应用
此示例未验证成功,第3步模型转换失败
- clone示例应用及模型到Host
1
git clone https://github.com/Ascend/sample-objectdetection
- 下载原始网络模型文件及其对应的权重文件
下载页面- test.prototxt
- faster_rcnn.caffemodel
- 模型是基于Caffe的Faster RCNN模型,需要将其转换为Davinci模型
在Mind Studio操作界面的顶部菜单栏中选择Tool > Convert Model
模型转换成功后,后缀为.om的Davinci模型放在~/tools/che/model-zoo/my-model/fast_rcnn
- 配置环境变量
1
2export DDK_HOME=/home/yourname/tools/che/ddk/ddk
export LD_LIBRARY_PATH=$DDK_HOME/uihost/lib - 部署脚本
1
./deploy.sh 192.168.0.2 internet
- 上传.om模型到开发板的
/home/HwHiAiUser/models
- 运行
1
2
3
4ssh HwHiAiUser@192.168.0.2
# Mind@123
cd ~/HIAI_PROJECTS/ascend_workspace/objectdetection/out
python3 run_object_detection_faster_rcnn.py -m ~/models/faster_rcnn.om -w 800 -h 600 -i ./example.jpg -o ./out -c 21