Atlas初步配置與運行
/**寫在前面:
·環境描述:Win10,VMware虛擬機
本文將向大家總結分享,我在atlas-200dk開發板配置的過程和踩坑經歷
(說明:我根據昇騰社區的教學視頻,提前完成了制卡(其版本號與視頻教學內容相符),建議大家也去參考一下。https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXA023+Self-paced/courseware/d25613362efc444ba24abe10c8fb2e3f/7063a866c2c040a9b79b451fa588043c/)
以下是我重裝開發環境的步驟說明,其實除了制卡以外其他步驟和從0開始配置的步驟一樣。都是干貨,可以參考使用。
/**實現目標:
1:能夠操作使用Atlas-200DK
2:使用網線連接使用(也就是支持atlas上網。需要先用type-c先鏈接設置。
注意:如果使用數據線訪問,將不支持開發板上網)
3:自行配置om模型轉換(也可以使用mindstdio,但本文將指出第二種轉換方式)
下載一個Linux鏡像,這里推薦使用Ubuntu18.04,不容易出問題
我們以一個虛擬機為例來安裝系統,這里選用的是VMware,我使用的配置給大家參考使用:60g內存+4核cpu。然后就是漫長的Linux環境配置過程……
配置完過后,輸入一開始設置虛擬機配置的密碼,進入系統。
會有這種升級提醒等等一系列彈窗,不需要理會
會提示一系列軟件包,根據需要下載即可
這個命令行很重要,可以選擇add to favorites,以后在左側菜單欄即可直接打開,十分方便(可以根據自己需要先設置一下菜單欄,應用程序都在左下角)
· 正文開始:
第一步,設置root密碼,這個很重要
sudo passwd root
然后他會跳出一句
[sudo] password for pi:
1:pi是我設置的賬號名,往后教程都不再說明
2:在這里需要輸入你一開始設置的賬戶密碼,并且是不會顯示在屏幕上,這點也只說一次
3:輸入完畢你的賬戶密碼,就設置root賬戶密碼
Enter new UNIX password:
Retype new UNIX password:
passwd: password updated successfully
如以上顯示則說明密碼設置成功,請記住你的root密碼
第二步,換源
1:備份原來的源
sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
2:進入root賬戶
su
3:進入設置源的文件
>/etc/apt/sources.list
vi /etc/apt/sources.list
4:
(可以參照https://www.cnblogs.com/huang-y-x/p/11082168.html,可在里面選用不同的源)
粘貼以下內容,從這里開始(這里選用阿里的源):
#阿里云源 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
↑到以上結束(確保完整無誤)
然后輸入 :wq 回車,保存并退出
5:升級軟件列表
apt-get update apt-get upgrade
如果出現什么問題,可以試試 apt-get -f install,或者重復多跑幾次
(過程會久一點,以后就會快很多。包括此過程在內的下載指令,如果速度較慢,建議可以選擇在白天的時候運行,速度會快很多)
6:安裝vim
apt-get install vim
第三步,配置虛擬機上開發環境
·幾個重要網站放在這里
#配置atlas視頻教學
https://education.huaweicloud.com/courses/course-v1:HuaweiX+CBUCNXA023+Self-paced/courseware/d25613362efc444ba24abe10c8fb2e3f/69410a8562514846a9fd6d030e5f1c94/
#環境部署官方文檔
https://support.huaweicloud.com/environment-deployment-Atlas200DK1010/atlased_04_0001.html
#讀卡器場景配置atlas
https://support.huaweicloud.com/environment-deployment-Atlas200DK1010/atlased_04_0012.html
#制卡操作系統 Ubuntu server arm,選18.04.4,下載如下圖的包
https://releases.ubuntu.com/?_ga=2.35892448.1525631547.1620916708-1630382698.1620537185
#獲取軟件包
https://support.huaweicloud.com/environment-deployment-Atlas200DK202/atlased_04_0020.html
#ascend官網
https://www.hiascend.com/zh/
#200dk固件與驅動(教程選用3.0.0alpha001,我們選用3.2.0)
https://www.hiascend.com/hardware/firmware-drivers?tag=community
#網線連接atlas
https://bbs.huaweicloud.com/blogs/230123
#mindstdio 下載位置
https://www.hiascend.com/software/mindstudio/download
步驟一,下載包
1:下載制卡操作系統 Ubuntu server arm 64(具體內容參考網址)
2:下載cann的兩個包 ,我們統一一下版本,選擇歷史版本->選擇3.2.0的->進入下圖界面下載
3:去 #讀卡器場景配置atlas 網址底下看教程
這里分享我的開發步驟
1)
wget https://gitee.com/ascend/tools/raw/master/makesd/for_1.0.10.alpha/make_sd_card.py wget https://gitee.com/ascend/tools/raw/master/makesd/for_1.0.10.alpha/make_ubuntu_sd.sh wget https://raw.githubusercontent.com/Huawei-Ascend/tools/master/configure_usb_ethernet/for_20.1/configure_usb_ethernet.sh #第三個指令是usb連接Ubuntu服務器的腳本,我們后續使用網線連接,不使用usb方式連接,可以不用運行 wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz #下載Python開發包
2)制卡
(由于我已完成制卡,將沒有實際操作的截圖。制卡的小伙伴記得保證這十個文件都在。版本號會和下圖有出入,下載的內容正確即可)
su #先進入root apt-get update apt-get install python3 python3-pip pip3 install pyyaml apt-get install qemu-user-static binfmt-support python3-yaml squashfs-tools gcc-aarch64-linux-gnu g++-aarch64-linux-gnu fdisk -l #查找sd卡在哪個目錄底下,比如我的是在sdb底下, python3 make_sd_card.py local /dev/sdb #注意選好路徑
(看到make sd card successfully就成功了,將sd卡放在atlas上,通上電源,看到atlas上四個指示燈全為常亮,即為atlas初始化成功)
3)
配置開發環境
先安裝依賴
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 su pi #跳出root賬戶,已經無需再使用 cd mksd #準備安裝Python,我的Python包在mksd文件夾底下 tar xzvf Python-3.7.5.tgz #解壓 cd Python-3.7.5/ ./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared make -j8 sudo make install 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
vim ~/.bashrc
然后粘貼以下內容
#用于設置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
保存退出指令 :wq
source ~/.bashrc pip3.7.5 install attrs psutil decorator numpy==1.17.2 protobuf scipy sympy cffi --user cd .. chmod +x *.run ./Ascend-cann-toolkit_20.2.alpha001_linux-x86_64.run --install
(運行完畢會顯示類似下圖這樣的文字,請注意保存,這個是不同環境下使用的環境變量)
./Ascend-cann-toolkit_20.2.alpha001_linux-aarch64.run --install
4)網線連接(參考:
https://bbs.huaweicloud.com/blogs/230123
)
此過程建議提前將type-c先和網線一并連接好
進入 控制面板\網絡和 Internet\網絡連接
配置筆記本網卡的Ipv4的IP地址:192.168.0.1(此地址是開發板網卡的網關地址,第4步講如何配置開發板網卡網關),子網掩碼:255.255.255.0
ifconfig
這個多出來的網卡是我們需要配置的
sudo bash configure_usb_ethernet.sh
會多個ip地址,是Ubuntu的。Atlas的usb網段是192.168.1.2,網線網段是192.168.0.2
ssh HwHiAiUser@192.168.1.2
passwd是:Mind@123
出現HwHiAiUser@davinci-mini:~$,即為成功登入atlas
我們登錄到atlas開發板里面的root模式,配置開發板有線網卡:
1)切換到root用戶,并打開網絡配置文件。
su root #密碼也是Mind@123 vi /etc/netplan/01-netcfg.yaml
具體內容參考下圖
:wq 退出
netplan apply
開啟一個新的終端
用網線連接電腦和開發板
ssh HwHiAiUser@192.168.0.2 Mind@123 #成功登入后 sudo apt-get update sudo apt-get upgrade sudo apt-get install vim gcc g++
你能看到在連接atlas的過程中可以正常下載安裝,即為連接成功。
(開發環境就裝的差不多了,mindstdio我們不安裝,需要的話可以參考“寫在前面”里的鏈接)
配置om模型轉換
(參考網址:
https://gitee.com/ascend/samples/tree/master/cplusplus/level2_simple_inference/1_classification/resnet50_imagenet_classification
)
*0,創建賬戶(此步可選,我的賬戶叫hw)
sudo groupadd hw sudo useradd -g hw -d /home/hw -m hw -s /bin/bash sudo passwd hw #設置密碼 cd /home/hw su chmod u+w /etc/sudoers vi /etc/sudoers
hw ALL=(ALL:ALL) ALL #在文件中添加此句,保存退出 #在命令行中運行下一句 chmod u-w /etc/sudoers
1:設置環境變量
vi ~/.bashrc
#開發環境上,設置模型轉換依賴的環境變量。 #${install_path}表示開發套件包Ascend-cann-toolkit所在的路徑。 export install_path=/home/pi/Ascend/ascend-toolkit/latest export PATH=${install_path}/atc/ccec_compiler/bin:${install_path}/atc/bin:$PATH export ASCEND_OPP_PATH=${install_path}/opp #補充:我在atlas里面額外添加了如下的環境變量,僅供參考: #export LD_LIBRARY_PATH=/home/HwHiAiUser/Ascend/acllib/lib64:/usr/lib64 #export PYTHONPATH=/home/HwHiAiUser/Ascend/pyACL/python/site-packages/acl #export ASCEND_AICPU_PATH=/home/HwHiAiUser/Ascend #export LD_LIBRARY_PATH=$HOME/Ascend/acllib/lib64 #開發環境上,設置環境變量,編譯腳本src/CMakeLists.txt通過環境變量所設置的頭文件、庫文件的路徑來編譯代碼。 #如下為設置環境變量的示例,請將$HOME/Ascend/ascend-toolkit/latest/arm64-linux替換為開發套件包 #Ascend-cann-toolkit下Arm架構的ACLlib的路徑。 export DDK_PATH=$HOME/Ascend/ascend-toolkit/latest/arm64-linux export NPU_HOST_LIB=$HOME/Ascend/ascend-toolkit/latest/arm64-linux/acllib/lib64/stub
#保存退出 :wq source ~/.bashrc
2:準備代碼庫
sudo apt-get install git geany #建議下一個geany,一會兒修改cpp文件更加方便 git clone https://gitee.com/ascend/samples.git 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
然后將照片手動放在 sample/cplusplus/level2 ....../1_classfication/resnet50_image....../data底下
并在這個目錄底下打開終端
python3.7.5 -m pip install Pillow --user python3.7.5 ../script/transferPic.py #將jpg轉bin cd .. mkdir -p build/intermediates/minirc cd build/intermediates/minirc
在文件管理器打開 resnet50_image/src,用geany打開sample_process.cpp,在82行處修改模型路徑
我修改的路徑是
const char* omModelPath = "../caffe_model/resnet50.om";
原始模型權重- :
https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.caffemodel
原始模型網絡- :
https://modelzoo-train-atc.obs.cn-north-4.myhuaweicloud.com/003_Atc_Models/AE/ATC%20Model/resnet50/resnet50.prototxt
·先下載以上兩個模型,并放在你剛剛修改的那個文件夾路徑
wget https://c7xcode.obs.cn-north-4.myhuaweicloud.com/models/resnet50/insert_op.cfg atc --model=resnet50.prototxt --weight=resnet50.caffemodel --framework=0 --output=model/resnet50 --soc_version=Ascend310 --input_format=NCHW --input_fp16_nodes=data -output_type=FP32 --out_nodes=prob:0 cmake ../../../src -DCMAKE_CXX_COMPILER=aarch64-linux-gnu-g++ -DCMAKE_SKIP_RPATH=TRUE #預編譯 make
在1_classfication 文件夾里面打開終端
scp -r resnet50_imagenet_classification/ HwHiAiUser@192.168.0.2:/home/HwHiAiUser #-r指文件夾
開個新的終端
ssh HwHiAiUser@192.168.0.2 ?#網線的ip
ls ? ? ? ? #看看文件夾進去了沒,使用 “ll” 指令也可以
在atlas的根目錄底下
vi ~/.bashrc
然后大家根據實際情況調整路徑
export LD_LIBRARY_PATH=$HOME/Ascend/acllib/lib64
:wq
source ~/.bashrc
cd resnet50_imagenet_classification/out/
ll #查看main是否有可執行權限,如果沒有,chmod +x main 即可添加可執行權限
./main
即可運行完成demo
·踩坑分享:如果第一次om文件生成出現問題,
先在atlas上cd resnet50_imagenet_classification/caffe_model ?,然后rm resnet50.om
(具體看你的om模型在板子上的哪個位置)
scp resnet50_imagenet_classification/caffe_model/model/resnet50.om HwHiAiUser@192.168.0.2:/home/HwHiAiUser/resnet50_imagenet_classification/caffe_model
再單獨傳送個文件過去
最后返回 resnet50_imagenet_classification/out 底下,再運行 ./main ,即可運行
Linux
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。