张小白带你体验昇腾CANN3.3.0
鲲鹏和昇腾是华为的两大产品系列,前者主打ARM平台,一举解决了服务器自主的难题;后者主打AI计算,专为深度学习提供强大算力。两者都是从芯片、服务器到软硬件生态。当然如果是两者结合,也会无限强大。
CANN是华为基于AI场景的异构计算架构,通过多层次的编程接口,能够帮助用户快速构建基于昇腾的AI业务和应用。
(上图来源:https://ascend.huawei.cn/#/software/cann )
笔者以前的博客,无论是基于昇腾Atlas 310芯片的200DK ( 华为Atlas 200DK初体验——写在昇腾新品发布的第二天 https://bbs.huaweicloud.cn/blogs/193847 )和 HiLens( 如何使用HiLens Studio进行口罩检测体验 https://bbs.huaweicloud.cn/blogs/194916 ),还是ModelArts上的基于昇腾Atlas 910芯片的昇腾集群( 使用MindSpore实现Resnet50毒蘑菇识别 https://bbs.huaweicloud.cn/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.cn/forum/thread-104719-1-1.html ),所以只能写出一篇基于的幻想作业:https://bbs.huaweicloud.cn/forum/thread-106143-1-1.html ,至今还深感遗憾。
而经过华为昇腾团队的不懈努力,CANN 3.3.0隆重登场,终于可以解决困扰了笔者好几个月的难题。笔者在Atlas200DK上安装CANN 3.3.0的尝试正在进行中(https://bbs.huaweicloud.cn/forum/thread-116719-1-1.html ),而借着本次《昇腾CANN训练营》的应用营开课的机会,在华为云ECS的AI加速服务器上验证CANN上的模型转换和模型推理,也得以顺利进行。想必 MindSpore Serving的安装和体验问题,也将会迎刃而解。
那么也不多废话,就让张小白花不到两块五的钱,带你体验下CANN的强大威力吧~~~
(一)购买能跑CANN的华为云AI服务器
先去购买一台Ascend310的X86服务器。
在 https://console.huaweicloud.cn/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.cn/#/software/cann/community
找到相关的驱动包的地址:
到Xshell中做wget
wget https://repo.huaweicloud.cn/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.cn/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.cn/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)