幼儿园级别的昇腾环境搭建教程--超级详细

举报
茜茜的哥哥 发表于 2021/04/01 00:24:53 2021/04/01
【摘要】 超级奶妈教程,不详细不是人

昇腾CANN训练营-应用营第一讲——开发&运行环境部署

课后作业

by 茜茜的哥哥

我是在B站上看老谭的视频

https://www.bilibili.com/video/BV1m64y1D7Q1

老谭长帅了呀,比之前的视频教程更有活力了,点个赞!


 

因为之前看过一遍视频,所以总结一下任务如下:

  • 在华为云上买一个昇腾的ubuntu服务器
  • 在服务器上搭建昇腾的运行环境
  • 在服务器上搭建昇腾的开发环境
  • 在服务器上运行一个示例,并截图

 

第一步:买虚拟机

登录à控制面板,购买一个ECSElastic Cloud Server)中文意思是 弹性云服务器,北京四的地域就行。

上述流程完成后,等待一段时间,系统创建完成后,在ECS菜单中能够看到自己的服务器了


第二步,下载部署所需要的软件

打开网址:https://ascend.huawei.com/

首先下载驱动

文件名字:A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run

接下来下载软件平台CANN

软件的名字:Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run

最后在下载可视化IDE Mindstudio

文件名:MindStudio_2.0.0-beta3_linux.tar

最后下载的文件如下图:

第三步:登录服务器进行安装操作

 

采用VNC登录

 

点击登录后,界面如下

 

这里登录采用第一步购买服务器时候设置服务器的root账户和密码

在接下来的使用过程中,我们不能使用root账户进行操作,需要使用华为的特定账户:HwHiAiUser 这个账户

在控制台中找到这个账户:cat /etc/passwd


执行修改密码的指令: passwd HwHiAiUser


接下来就是修改一下HwHiAiUser 这个用户的bin目录sh,不要问为什么,老谭都这么说了,那就改一下

执行 vim /etc/passwd

关于VIM指令,这个就不写了



 

因为用这个网页版的指令界面实在是不太方便,所以接下来可以使用远程SSH工具

我也建议使用MobaXterm 简单,好用,集成度高,当然你要是对什么Xshell啥工具情有独钟,也可以使用

服务器的ip可以在,服务器详情中进行查找

连接完成后,我们可以把第二步下载的软件,上传到服务器

这里我们可以直接用MobaXterm来操作

新建一个file文件夹


然后选择文件进行上传

上传文件的时间可能会比较长,大家最好是找个好点的网络,网络实在是不行的,建议,花钱买几个G的手机流量,开热点进行操作

上传的过程中,我们对服务器进行安装依赖文件的操作,跟普通linux环境差不多,先改软件源

切换到root用户,到/etc./apt目录下,对source.list文件进行修改,修改前记得备份

使用>指令清空文件


再把国内源复制进去,保存

这里我采用阿里的源

deb http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-security main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-updates main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-proposed main restricted universe multiverse

deb-src http://mirrors.aliyun.com/ubuntu/ bionic-backports main restricted universe multiverse


保存好以后,执行指令 apt-get update 用来对源进行更新


接下里对CANN软件的安装,我们需要借助到安装文档

 

找到环境依赖的安装包

安装指令: sudo 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 

 

安装效果如下:


这时候理论上100%会出来报错


这时候不要慌,你仔细一看都是些python的包没有安装而已

使用apt-get install python3.7 不要问为什么是3.7,华为目前都基于python 3.7.5的环境

然后,再执行一次依赖安装的指令,就会完美安装通过


我们继续配置一下python的软连接

指令:

sudo ln -s /usr/local/python3.7.5/bin/python3/usr/local/python3.7.5/bin/python3.7.5
sudo ln -s /usr/local/python3.7.5/bin/pip3/usr/local/python3.7.5/bin/pip3.7.5

 

下一步,我们开始安装python的依赖,这里特别注意需要,退回到HwHiAiUser账户的权限下进行

对于python,我们更换pip源,需要明确当前目录是home目录

我们采用豆瓣的pip

[global]
index-url = 
http://pypi.douban.com/simple
[install]
trusted-host = 
pypi.douban.com

创建pip.conf

接下来配置python的环境变量

 

#用于设置python3.7.5库文件路径
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
#如果用户环境存在多个python3版本,则指定使用python3.7.5版本
export PATH=/usr/local/python3.7.5/bin:$PATH

指令:vim .bashrc

拉到最后面


保存退出后,执行source指令 使其生效

 

之后安装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


 

第四步,软件安装

 

首先要确认一下,四个软件包是否已经上传到目录了


驱动和工具赋予运行权限

 

可以看到,权限已经发生了变化,从-rw-rw-r—变为了 -rwxrwxr-x 

这时候,我们需要切换至root权限进行安装

首先安装驱动: A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run

指令:./A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run –full


安装成功后,需要重启,rboot

 

重启后,我们继续安装nnrtAscend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run

执行指令:./Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run –install

 


安装完成后会有环境变量缺失的问题

对变量文件进行修改,我把修改好的放在下面


#用于设置python3.7.5库文件路径

export LD_LIBRARY_PATH=/home/HwHiAiUser/Ascend/nnrt/latest/acllib/lib64:/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH

#如果用户环境存在多个python3版本,则指定使用python3.7.5版本

export PATH=/usr/local/python3.7.5/bin:$PATH

export PYTHONPATH=/home/HwHiAiUser/Ascend/nnrt/latest/pyACL/python/site-packages/acl:${PYTHONPATH}

export ASCEND_AICPU_PATH=/home/HwHiAiUser/Ascend/nnrt/latest:${ASCEND_AICPU_PATH}


记得保存完成之后,执行source指令生效

 

再下来继续安装toolkitAscend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run

执行指令:./ Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run –install


 安装完成后会有很多环境变量要求出来,不要理会,生成个文件保存一下,以后用再说

 

最后安装IDE mindspore,其实只需要解压即可

执行指令:tar zxvf MindStudio_2.0.0-beta3_linux.tar.gz

接下来运行mindspore

 进入mindsporebin目录,直接执行sh文件


基本上肯定会报错,不要慌,提有提示,可以直接执行apt指令

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  && /usr/local/python3.7.5/bin/pip3 install –user

记得再root权限下执行

完成后,推出root权限,重新运行mindspore

 

继续报错,再执行依赖安装

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


安装完成后,再次运行mindspore

 

点击OK 首次启动mindspore 注意,这里网速一定要快


按图所示,选择toolkit版本,老谭的网速是真快,我100M光纤就没他这么顺滑

接下来创建应用

新建完成后是一个resnet50demo工程


因为这是一个caffe的模型,所以我们需要去下载网络结构文件和权重文件

readme189行有说明,我复制下来,直接使用

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

打开这个地址,可以看到prototxt文件


打开文件,复制下载链接

 

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

 

然后我们使用IDEterminal工具,下载这个文件在服务器上


要新建一个文件夹models,具体名字随意

 

然后继续下载预训练模型


我贴出地址,直接使用

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

 

下载完成后进行模型转换,因为之前是caffe的模型,mindspore直接用不了

 


接下来就是下一步一下步,直到finish, 等待转换完成

 


 

下载测试数据,链接如下:

https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/aclsample/dog1_1024_683.jpg

https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/aclsample/dog2_1024_683.jpg

当然,其实你可以自己找点别的图片

我自己找了一张


https://z3.ax1x.com/2021/03/31/cA7xOJ.jpg

 

图片下载到data文件夹中


改个名字,数据名字也要一体化嘛


修改代码


加载模型到工程中,右键工程目录



操作之后,目录会多出一个model文件夹,表示加载好了


 

图片预处理,在terminal栏中,执行:python3.7.5 ../script/transferPic.py

一切准备就绪,编译应用


编译完成后,在out目录中就有生成应用了


 

好了,到这里就剩下最后一步,把这个应用跑起来

 

最后看结果


报错了,是不是脑子嗡嗡的,花了这么久时间,走到最后一步,你给我报错,是不是想撞墙,不要在意这些细节,仔细看看说的是啥,就是so库找不到呗

 

研究了半天的bashrc文件,没写错了啊,实在是找不到原因,只能使用必杀技,重启大法

嘿,他居然解决了!!!!!!

 


 

好啦,第一课完成,删除服务器,免得后续扣费哦!!!!

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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