张小白带你体验昇腾CANN3.3.0
鲲鹏和昇腾是华为的两大产品系列,前者主打ARM平台,一举解决了服务器自主的难题;后者主打AI计算,专为深度学习提供强大算力。两者都是从芯片、服务器到软硬件生态。当然如果是两者结合,也会无限强大。
CANN是华为基于AI场景的异构计算架构,通过多层次的编程接口,能够帮助用户快速构建基于昇腾的AI业务和应用。

(上图来源:https://ascend.huawei.com/#/software/cann )
笔者以前的博客,无论是基于昇腾Atlas 310芯片的200DK ( 华为Atlas 200DK初体验——写在昇腾新品发布的第二天 https://bbs.huaweicloud.com/blogs/193847 )和 HiLens( 如何使用HiLens Studio进行口罩检测体验 https://bbs.huaweicloud.com/blogs/194916 ),还是ModelArts上的基于昇腾Atlas 910芯片的昇腾集群( 使用MindSpore实现Resnet50毒蘑菇识别 https://bbs.huaweicloud.com/blogs/208652 ),里面都离不开昇腾的影子,自然就都内置了CANN。甚至未来可能是中国最伟大的AI框架-MindSpore,也大多会基于CANN运行(只要device_target选择“Ascend”)。
华为云也推出了基于X86和基于鲲鹏(ARM)的两种ECS服务器。在上次的 《1.23-1.24 | MindSpore第五期两日集训营》活动中,笔者就因 Atlas 200DK和AI服务器CANN版本的原因,无法安装MindSpore 1.1的新特性MindSpore Serving(https://bbs.huaweicloud.com/forum/thread-104719-1-1.html ),所以只能写出一篇基于的幻想作业:https://bbs.huaweicloud.com/forum/thread-106143-1-1.html ,至今还深感遗憾。
而经过华为昇腾团队的不懈努力,CANN 3.3.0隆重登场,终于可以解决困扰了笔者好几个月的难题。笔者在Atlas200DK上安装CANN 3.3.0的尝试正在进行中(https://bbs.huaweicloud.com/forum/thread-116719-1-1.html ),而借着本次《昇腾CANN训练营》的应用营开课的机会,在华为云ECS的AI加速服务器上验证CANN上的模型转换和模型推理,也得以顺利进行。想必 MindSpore Serving的安装和体验问题,也将会迎刃而解。
那么也不多废话,就让张小白花不到两块五的钱,带你体验下CANN的强大威力吧~~~
(一)购买能跑CANN的华为云AI服务器
先去购买一台Ascend310的X86服务器。
在 https://console.huaweicloud.com/console/?locale=zh-cn®ion=cn-north-4#/home 控制台,选择 服务列表-计算-弹性云服务器ECS

点击“购买弹性云服务器”
按图示选择:按需计费、x86计算、AI加速型、ai1s.large.4(2C8G)

镜像选择Ubuntu18.04:

点击“下一步”:
设置VPC,安全组全部访问,弹性公网现在购买,带宽1M/s。

下一步,设置密码。

下一步,确认配置:

点击同意的复选框,点击“立即购买”。(费用是一小时一块多)

服务器开始创建(当然,也开始扣费)

服务器创建好后,会在IP地址栏显示公网地址(124.70开头的那个)
(二)更新apt源等准备操作
点击“远程登录”,

点击“VNC方式登录下面的“立即登录”按钮:

输入用户名密码进入终端:

检查python和pip版本。

检查HwHiAiUser用户:

修改HiHwAiUser的密码:

修改/etc/passwd,将 HwHiAiUser的shell改为bash

更新ubuntu apt源 /etc/apt/sources.list
注释掉所有的ubuntu.com,更新为 aliyun.com...
(这个时候为了方便,可以换成XShell工具进行远程操作)

apt-get update


准备MobaXterm工具,以便MindStudio的图形界面能在本地显示。

按箭头所示创建:

输入密码登录:

(三)下载CANN 3.3.0所需的软件包
1、下载驱动包

wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/turing/resourcecenter/Software/20.2.0/A300-3010%201.0.9/A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run --no-check-certificate

2、下载nnrt和toolkit包
打开 https://ascend.huawei.com/#/software/cann/community
找到相关的驱动包的地址:
到Xshell中做wget
wget https://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run --no-check-certificate
wget https://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run --no-check-certificate

下完了结果如下:

3、下载MindStudio
wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/turing/resource/mindstudio/2.0.0-beta3/MindStudio_2.0.0-beta3_linux.tar.gz --no-check-certificate

通过以上步骤,安装CANN所需要的驱动和软件包已就绪:

(四)安装开发环境依赖
根据 https://support.huaweicloud.com/instg-cli-cann330/atlasrun_03_0033.html 安装开发环境依赖
用root用户执行:
apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev libbz2-dev libsqlite3-dev libssl-dev libxslt1-dev libffi-dev unzip pciutils net-tools libncursesw5-dev

遇到dpkg报错不要紧:

apt-get install python3.7

Y继续

重新执行前面的apt-get

使用HwHiAiUser用户,更新该用户下的python源:

配置环境变量~/.bashrc

重新登录HwHiAiUser用户

可以看到LD_LIBRARY_PATH的配置已经生效了。
安装pip的相关包:
pip3.7.5 install attrs numpy decorator sympy==1.4 cffi==1.12.3 pyyaml pathlib2 psutil protobuf scipy requests xlrd==1.2.0 --user

(五)安装CANN 3.3.0软件包
将前面下载的包(在/root用户下的)移动到 HwHiAiUser的download目录,并修改文件权限,增加相关run包的可执行权限

需注意:
-
驱动,需要用root装
-
nnrt和toolkit和mindstudio,需要用HwHiAiUser装
安装驱动
./A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run --full

重启ECS服务器:reboot

等待重启结束,重新连接服务器:
用HwHiAiUser登录:
安装nnrt
./Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run --install

根据安装的结果更新环境变量 ~/.bashrc

source ~/.bashrc
安装toolkit
./Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run --install


弹出的内容如下:
1.离线推理应用环境变量
2.在线推理应用环境变量
3.模型转换环境变量
Offline infer develop (cannot coexist with other scenes):
PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/bin:
LD_LIBRARY_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/acllib/lib64:
PYTHONPATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/pyACL/python/site-packages/acl:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:
ASCEND_AICPU_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest:
ASCEND_OPP_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp:
TOOLCHAIN_HOME includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit:
Third party AI framework develop (cannot coexist with other scenes):
PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/ccec_compiler/bin:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/bin:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/bin:
LD_LIBRARY_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/lib64:
PYTHONPATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/fwkacllib/python/site-packages:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:
ASCEND_OPP_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp:
ASCEND_AICPU_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest:
TOOLCHAIN_HOME includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit:
Model transformation and operator develop (cannot coexist with other scenes):
PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/ccec_compiler/bin:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/bin:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/bin:
LD_LIBRARY_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/lib64:
PYTHONPATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/atc/python/site-packages:
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit/python/site-packages:
ASCEND_OPP_PATH includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/opp:
TOOLCHAIN_HOME includes :
/home/HwHiAiUser/Ascend/ascend-toolkit/latest/toolkit:
安装MindStudio
tar zxvf MindStudio_2.0.0-beta3_linux.tar.gz

运行

根据提示执行:
root用户
apt-get -y install xterm firefox xdg-utils openjdk-8-jdk fonts-droid-fallback fonts-wqy-zenhei fonts-wqy-microhei fonts-arphic-ukai fonts-arphic-uming gnome-keyring

。。。

HwHiAiUser用户
/usr/local/python3.7.5/bin/pip3 install --user coverage gnureadline pylint matplotlib pandas absl-py

。。。

再执行MindStudio

可以看到MindStudio的图形界面以及借助于MobaXterm,已经在Windows的桌面上显示出来了。
(六)使用MindStudio验证resnet样例工程
弹出MindStudio的配置界面:

选择以下目录

finish

create new project
next

选择resnet sample

根据readme.md文件 下载相关文件
https://gitee.com/HuaweiAscend/models/tree/master/computer_vision/classification/resnet50

打开MindStudio终端,下载caffe的模型:
wget https://obs-model-ascend.obs.cn-east-2.myhuaweicloud.com/resnet50/resnet50.caffemodel


模型转换:

next,next,finish.
转换中:

转换成功:

准备好图片:
在MindStudio终端,进入data目录执行:
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg

导入转好的模型:


预处理图片:

编译:

编译成功:

运行配置 edit configuration:

运行模型推理:run

可见,样例工程已经跑完了。
(七)删除云服务器
最后记得删除云服务器以免造成额外的扣费:(按需的云服务器如果只是停止的话,还是会扣费的,只有删除才不扣费)

确认删除无误。

本次体验也就结束了。
费用大概如下所示:

真的是两块多钱。值了!
参考视频:https://www.bilibili.com/video/BV1m64y1D7Q1
(全文完,谢谢阅读)
- 点赞
- 收藏
- 关注作者
评论(0)