Atlas初步配置运行

网友投稿 963 2022-05-30

/**写在前面:

·环境描述: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

·先下载以上两个模型,并放在你刚刚修改的那个文件夹路径

Atlas初步配置与运行

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小时内删除侵权内容。

上一篇:一起学习Vuex 4.0的状态管理(Vite)
下一篇:如何运用 Python 建立你的第一个 Slack 聊天机器人?
相关文章