怎么允许宏(excel如何允许宏)
705
2022-05-30
昇腾CANN训练营-应用营第一讲——开发&运行环境部署
课后作业
by 茜茜的哥哥
我是在B站上看老谭的视频
https://www.bilibili.com/video/BV1m64y1D7Q1
老谭长帅了呀,比之前的视频教程更有活力了,点个赞!
因为之前看过一遍视频,所以总结一下任务如下:
在华为云上买一个昇腾的ubuntu服务器
在服务器上搭建昇腾的运行环境
在服务器上搭建昇腾的开发环境
在服务器上运行一个示例,并截图
第一步:买虚拟机
登录à控制面板,购买一个ECS(Elastic 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
重启后,我们继续安装nnrt:Ascend-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指令生效
再下来继续安装toolkit:Ascend-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
进入mindspore的bin目录,直接执行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光纤就没他这么顺滑
接下来创建应用
新建完成后是一个resnet50的demo工程
因为这是一个caffe的模型,所以我们需要去下载网络结构文件和权重文件
在readme的189行有说明,我复制下来,直接使用
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
然后我们使用IDE的terminal工具,下载这个文件在服务器上
要新建一个文件夹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文件,没写错了啊,实在是找不到原因,只能使用必杀技,重启大法
嘿,他居然解决了!!!!!!
好啦,第一课完成,删除服务器,免得后续扣费哦!!!!
Python 昇腾
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。