幼兒園級(jí)別的昇騰環(huán)境搭建教程--超級(jí)詳細(xì)
昇騰CANN訓(xùn)練營(yíng)-應(yīng)用營(yíng)第一講——開(kāi)發(fā)&運(yùn)行環(huán)境部署
課后作業(yè)
by 茜茜的哥哥
我是在B站上看老譚的視頻
https://www.bilibili.com/video/BV1m64y1D7Q1
老譚長(zhǎng)帥了呀,比之前的視頻教程更有活力了,點(diǎn)個(gè)贊!
因?yàn)橹翱催^(guò)一遍視頻,所以總結(jié)一下任務(wù)如下:
在華為云上買(mǎi)一個(gè)昇騰的ubuntu服務(wù)器
在服務(wù)器上搭建昇騰的運(yùn)行環(huán)境
在服務(wù)器上搭建昇騰的開(kāi)發(fā)環(huán)境
在服務(wù)器上運(yùn)行一個(gè)示例,并截圖
第一步:買(mǎi)虛擬機(jī)
登錄à控制面板,購(gòu)買(mǎi)一個(gè)ECS(Elastic Cloud Server)中文意思是 彈性云服務(wù)器,北京四的地域就行。
上述流程完成后,等待一段時(shí)間,系統(tǒng)創(chuàng)建完成后,在ECS菜單中能夠看到自己的服務(wù)器了
第二步,下載部署所需要的軟件
打開(kāi)網(wǎng)址:https://ascend.huawei.com/
首先下載驅(qū)動(dòng)
文件名字:A300-3010-npu-driver_20.2.0_ubuntu18.04-x86_64.run
接下來(lái)下載軟件平臺(tái)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
最后下載的文件如下圖:
第三步:登錄服務(wù)器進(jìn)行安裝操作
采用VNC登錄
點(diǎn)擊登錄后,界面如下
這里登錄采用第一步購(gòu)買(mǎi)服務(wù)器時(shí)候設(shè)置服務(wù)器的root賬戶(hù)和密碼
在接下來(lái)的使用過(guò)程中,我們不能使用root賬戶(hù)進(jìn)行操作,需要使用華為的特定賬戶(hù):HwHiAiUser 這個(gè)賬戶(hù)
在控制臺(tái)中找到這個(gè)賬戶(hù):cat /etc/passwd
執(zhí)行修改密碼的指令: passwd HwHiAiUser
接下來(lái)就是修改一下HwHiAiUser 這個(gè)用戶(hù)的bin目錄sh,不要問(wèn)為什么,老譚都這么說(shuō)了,那就改一下
執(zhí)行 vim /etc/passwd
關(guān)于VIM指令,這個(gè)就不寫(xiě)了
因?yàn)橛眠@個(gè)網(wǎng)頁(yè)版的指令界面實(shí)在是不太方便,所以接下來(lái)可以使用遠(yuǎn)程SSH工具
我也建議使用MobaXterm 簡(jiǎn)單,好用,集成度高,當(dāng)然你要是對(duì)什么Xshell啥工具情有獨(dú)鐘,也可以使用
服務(wù)器的ip可以在,服務(wù)器詳情中進(jìn)行查找
連接完成后,我們可以把第二步下載的軟件,上傳到服務(wù)器
這里我們可以直接用MobaXterm來(lái)操作
新建一個(gè)file文件夾
然后選擇文件進(jìn)行上傳
上傳文件的時(shí)間可能會(huì)比較長(zhǎng),大家最好是找個(gè)好點(diǎn)的網(wǎng)絡(luò),網(wǎng)絡(luò)實(shí)在是不行的,建議,花錢(qián)買(mǎi)幾個(gè)G的手機(jī)流量,開(kāi)熱點(diǎn)進(jìn)行操作
上傳的過(guò)程中,我們對(duì)服務(wù)器進(jìn)行安裝依賴(lài)文件的操作,跟普通linux環(huán)境差不多,先改軟件源
切換到root用戶(hù),到/etc./apt目錄下,對(duì)source.list文件進(jìn)行修改,修改前記得備份
使用>指令清空文件
再把國(guó)內(nèi)源復(fù)制進(jìn)去,保存
這里我采用阿里的源
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
保存好以后,執(zhí)行指令 apt-get update 用來(lái)對(duì)源進(jìn)行更新
接下里對(duì)CANN軟件的安裝,我們需要借助到安裝文檔
找到環(huán)境依賴(lài)的安裝包
安裝指令: 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
安裝效果如下:
這時(shí)候理論上100%會(huì)出來(lái)報(bào)錯(cuò)
這時(shí)候不要慌,你仔細(xì)一看都是些python的包沒(méi)有安裝而已
使用apt-get install python3.7 不要問(wèn)為什么是3.7,華為目前都基于python 3.7.5的環(huán)境
然后,再執(zhí)行一次依賴(lài)安裝的指令,就會(huì)完美安裝通過(guò)
我們繼續(xù)配置一下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
下一步,我們開(kāi)始安裝python的依賴(lài),這里特別注意需要,退回到HwHiAiUser賬戶(hù)的權(quán)限下進(jìn)行
對(duì)于python,我們更換pip源,需要明確當(dāng)前目錄是home目錄
我們采用豆瓣的pip源
[global]
index-url =?http://pypi.douban.com/simple
[install]
trusted-host =?pypi.douban.com
創(chuàng)建pip.conf
接下來(lái)配置python的環(huán)境變量
#用于設(shè)置python3.7.5庫(kù)文件路徑
export LD_LIBRARY_PATH=/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
#如果用戶(hù)環(huán)境存在多個(gè)python3版本,則指定使用python3.7.5版本
export PATH=/usr/local/python3.7.5/bin:$PATH
指令:vim .bashrc
拉到最后面
保存退出后,執(zhí)行source指令 使其生效
之后安裝pip包
我把指令已經(jīng)精簡(jiǎn),直接使用即可
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
第四步,軟件安裝
首先要確認(rèn)一下,四個(gè)軟件包是否已經(jīng)上傳到目錄了
驅(qū)動(dòng)和工具賦予運(yùn)行權(quán)限
可以看到,權(quán)限已經(jīng)發(fā)生了變化,從-rw-rw-r—變?yōu)榱?-rwxrwxr-x
這時(shí)候,我們需要切換至root權(quán)限進(jìn)行安裝
首先安裝驅(qū)動(dòng): 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
重啟后,我們繼續(xù)安裝nnrt:Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run
執(zhí)行指令:./Ascend-cann-nnrt_3.3.0.alpha001_linux-x86_64.run –install
安裝完成后會(huì)有環(huán)境變量缺失的問(wèn)題
對(duì)變量文件進(jìn)行修改,我把修改好的放在下面
#用于設(shè)置python3.7.5庫(kù)文件路徑
export LD_LIBRARY_PATH=/home/HwHiAiUser/Ascend/nnrt/latest/acllib/lib64:/usr/local/python3.7.5/lib:$LD_LIBRARY_PATH
#如果用戶(hù)環(huán)境存在多個(gè)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}
記得保存完成之后,執(zhí)行source指令生效
再下來(lái)繼續(xù)安裝toolkit:Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run
執(zhí)行指令:./ Ascend-cann-toolkit_3.3.0.alpha001_linux-x86_64.run –install
安裝完成后會(huì)有很多環(huán)境變量要求出來(lái),不要理會(huì),生成個(gè)文件保存一下,以后用再說(shuō)
最后安裝IDE mindspore,其實(shí)只需要解壓即可
執(zhí)行指令:tar zxvf MindStudio_2.0.0-beta3_linux.tar.gz
接下來(lái)運(yùn)行mindspore
進(jìn)入mindspore的bin目錄,直接執(zhí)行sh文件
基本上肯定會(huì)報(bào)錯(cuò),不要慌,提有提示,可以直接執(zhí)行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權(quán)限下執(zhí)行
完成后,推出root權(quán)限,重新運(yùn)行mindspore
繼續(xù)報(bào)錯(cuò),再執(zhí)行依賴(lài)安裝
/usr/local/python3.7.5/bin/pip3 install --user? coverage gnureadline pylint matplotlib pandas absl-py
安裝完成后,再次運(yùn)行mindspore
點(diǎn)擊OK 首次啟動(dòng)mindspore 注意,這里網(wǎng)速一定要快
按圖所示,選擇toolkit版本,老譚的網(wǎng)速是真快,我100M光纖就沒(méi)他這么順滑
接下來(lái)創(chuàng)建應(yīng)用
新建完成后是一個(gè)resnet50的demo工程
因?yàn)檫@是一個(gè)caffe的模型,所以我們需要去下載網(wǎng)絡(luò)結(jié)構(gòu)文件和權(quán)重文件
在readme的189行有說(shuō)明,我復(fù)制下來(lái),直接使用
https://gitee.com/HuaweiAscend/models/tree/master/computer_vision/classification/resnet50
打開(kāi)這個(gè)地址,可以看到prototxt文件
打開(kāi)文件,復(fù)制下載鏈接
https://gitee.com/HuaweiAscend/models/raw/master/computer_vision/classification/resnet50/resnet50.prototxt
然后我們使用IDE的terminal工具,下載這個(gè)文件在服務(wù)器上
要新建一個(gè)文件夾models,具體名字隨意
然后繼續(xù)下載預(yù)訓(xùn)練模型
我貼出地址,直接使用
https://obs-model-ascend.obs.cn-east-2.myhuaweicloud.com/resnet50/resnet50.caffemodel
下載完成后進(jìn)行模型轉(zhuǎn)換,因?yàn)橹笆莄affe的模型,mindspore直接用不了
接下來(lái)就是下一步一下步,直到finish, 等待轉(zhuǎn)換完成
下載測(cè)試數(shù)據(jù),鏈接如下:
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
當(dāng)然,其實(shí)你可以自己找點(diǎn)別的圖片
我自己找了一張
https://z3.ax1x.com/2021/03/31/cA7xOJ.jpg
圖片下載到data文件夾中
改個(gè)名字,數(shù)據(jù)名字也要一體化嘛
修改代碼
加載模型到工程中,右鍵工程目錄
操作之后,目錄會(huì)多出一個(gè)model文件夾,表示加載好了
圖片預(yù)處理,在terminal欄中,執(zhí)行:python3.7.5 ../script/transferPic.py
一切準(zhǔn)備就緒,編譯應(yīng)用
編譯完成后,在out目錄中就有生成應(yīng)用了
好了,到這里就剩下最后一步,把這個(gè)應(yīng)用跑起來(lái)
最后看結(jié)果
報(bào)錯(cuò)了,是不是腦子嗡嗡的,花了這么久時(shí)間,走到最后一步,你給我報(bào)錯(cuò),是不是想撞墻,不要在意這些細(xì)節(jié),仔細(xì)看看說(shuō)的是啥,就是so庫(kù)找不到唄
研究了半天的bashrc文件,沒(méi)寫(xiě)錯(cuò)了啊,實(shí)在是找不到原因,只能使用必殺技,重啟大法
嘿,他居然解決了!!!!!!
好啦,第一課完成,刪除服務(wù)器,免得后續(xù)扣費(fèi)哦!!!!
Python 昇騰
版權(quán)聲明:本文內(nèi)容由網(wǎng)絡(luò)用戶(hù)投稿,版權(quán)歸原作者所有,本站不擁有其著作權(quán),亦不承擔(dān)相應(yīng)法律責(zé)任。如果您發(fā)現(xiàn)本站中有涉嫌抄襲或描述失實(shí)的內(nèi)容,請(qǐng)聯(lián)系我們jiasou666@gmail.com 處理,核實(shí)后本網(wǎng)站將在24小時(shí)內(nèi)刪除侵權(quán)內(nèi)容。