张小白带你体验昇腾CANN3.3.0

张辉 发表于 2021/03/30 09:14:01 2021/03/30
【摘要】 本文介绍了如何在华为云AI X86+Ascend 310服务器上安装和验证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&region=cn-north-4#/home 控制台,选择 服务列表-计算-弹性云服务器ECS

点击“购买弹性云服务器”

按图示选择:按需计费、x86计算、AI加速型、ai1s.large.4(2C8G)

image.png

镜像选择Ubuntu18.04:

image.png

点击“下一步”:

设置VPC,安全组全部访问,弹性公网现在购买,带宽1M/s。

image.png

下一步,设置密码。

image.png

下一步,确认配置:

image.png

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

image.png

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

image.png

服务器创建好后,会在IP地址栏显示公网地址(124.70开头的那个)

(二)更新apt源等准备操作

点击“远程登录”,

image.png

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

image.png

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

image.png

检查python和pip版本。

image.png

检查HwHiAiUser用户:

image.png

修改HiHwAiUser的密码:

image.png

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

image.png

更新ubuntu apt源 /etc/apt/sources.list

注释掉所有的ubuntu.com,更新为 aliyun.com...

(这个时候为了方便,可以换成XShell工具进行远程操作)

image.png

apt-get update

image.png

image.png

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

image.png

按箭头所示创建:

image.png

输入密码登录:

image.png

(三)下载CANN 3.3.0所需的软件包

1、下载驱动包

image.png

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

image.png

2、下载nnrt和toolkit包

打开 https://ascend.huawei.com/#/software/cann/community 

找到相关的驱动包的地址:

https://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run   

https://repo.huaweicloud.com/ascend/autoarchive/CANN/3.3.0.alpha001/Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run  

到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

image.png

下完了结果如下:

image.png

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

image.png

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

image.png

(四)安装开发环境依赖

根据 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 



image.png

遇到dpkg报错不要紧:

image.png

apt-get install python3.7

image.png

Y继续

image.png

重新执行前面的apt-get 

image.png

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

image.png

配置环境变量~/.bashrc

image.png

重新登录HwHiAiUser用户

image.png

可以看到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

image.png

(五)安装CANN 3.3.0软件包

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

image.png

需注意:

  1. 驱动,需要用root装

  2. nnrt和toolkit和mindstudio,需要用HwHiAiUser装

安装驱动

./A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run --full

image.png

重启ECS服务器:reboot

image.png

等待重启结束,重新连接服务器:

HwHiAiUser登录:

安装nnrt

./Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run --install

image.png

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

image.png

source ~/.bashrc

安装toolkit

 ./Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run --install

image.png

image.png

弹出的内容如下:

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

image.png

运行

image.png

根据提示执行:

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  

image.png

。。。

image.png

HwHiAiUser用户

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

image.png

。。。

image.png

再执行MindStudio

image.png

可以看到MindStudio的图形界面以及借助于MobaXterm,已经在Windows的桌面上显示出来了。

(六)使用MindStudio验证resnet样例工程

弹出MindStudio的配置界面:

image.png

选择以下目录

image.png

finish

image.png

create new projectimage.png

next

image.png

选择resnet sample

image.png

根据readme.md文件 下载相关文件

https://gitee.com/HuaweiAscend/models/tree/master/computer_vision/classification/resnet50 


image.png

打开MindStudio终端,下载caffe的模型:

wget https://gitee.com/HuaweiAscend/models/raw/master/computer_vision/classification/resnet50/resnet50.prototxt

wget https://obs-model-ascend.obs.cn-east-2.myhuaweicloud.com/resnet50/resnet50.caffemodel 

image.png

image.png

模型转换:

image.png

next,next,finish.

转换中:

image.png

转换成功:

image.png

准备好图片:

在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 

image.png

导入转好的模型:

image.png

image.png

预处理图片:

image.png

编译:

image.png

编译成功:

image.png

运行配置  edit configuration:

image.png

运行模型推理:run

image.png

可见,样例工程已经跑完了。

(七)删除云服务器

最后记得删除云服务器以免造成额外的扣费:(按需的云服务器如果只是停止的话,还是会扣费的,只有删除才不扣费)

image.png

确认删除无误。

image.png

本次体验也就结束了。

费用大概如下所示:

image.png

真的是两块多钱。值了!

参考视频:https://www.bilibili.com/video/BV1m64y1D7Q1 

(全文完,谢谢阅读)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区),文章链接,文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件至:cloudbbs@huaweicloud.com进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容。
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。