一、准备活动
硬件条件
Atlas 200 DK 的环境配置可以使用两种方式
一种是运行环境与开发环境分设,将运行环境部署在200dk上,开发环境部署在Ubuntu18.04系统。
一种是运行环境和开发环境合设,将运行环境和开发环境都部署在200dk上。
- 开发环境: 主要用于代码开发、编译、调测等开发活动。
(场景一)在昇腾AI设备上安装开发环境,同时可以作为运行环境,运行应用程序或进行训练脚本的迁移、开发&调试。
(场景二)在非昇腾AI设备上安装开发环境,仅能用于代码开发、编译等不依赖于昇腾设备的开发活动(例如ATC模型转换、算子和推理应用程序的纯代码开发)。
- 运行环境: 在昇腾AI设备上运行用户开发的应用程序或进行训练脚本的迁移、开发&调试。
配置过程中tf卡必不可少,但是接口也尽量合适吧
华为官方开发文档
以下为官网提供的设备推荐表
配件名称 | 描述 | 推荐型号 |
---|---|---|
Type-C连接线 | 用于与Ubuntu服务器通过USB方式连接,参考连接Atlas 200 DK开发者板与Ubuntu服务器。 | 支持USB3.0的Type-C连接线 |
网线 | 用于与Ubuntu服务器通过网线方式连接,参考连接Atlas 200 DK开发者板与Ubuntu服务器。 | 普通网线,接口类型为RJ45 |
摄像头 | 用于与Atlas 200 DK连接获取视频,参考安装摄像头(主板为IT21DMDA)和安装摄像头(主板为IT21VDMB)。 | 推荐使用树莓派摄像头。型号:RASPBERRY PI V2.1若Atlas 200 DK主板为IT21DMDA,使用树莓派摄像头时需要额外购买黄色的15 pin树莓派专用排线。 |
摄像头支架(可选) | 用于固定摄像头,参考安装摄像头(主板为IT21DMDA)和安装摄像头(主板为IT21VDMB)。 | 树莓派透明摄像头支架 |
环境部署
Atlas 200 DK的环境配置可以使用两种方式,
一种是运行环境与开发环境分设,将运行环境部署在200dk上,开发环境部署在Ubuntu18.04系统。
一种是运行环境和开发环境合设,将运行环境和开发环境都部署在200dk上。
- 开发环境: 主要用于代码开发、编译、调测等开发活动。
(场景一)在昇腾AI设备上安装开发环境,同时可以作为运行环境,运行应用程序或进行训练脚本的迁移、开发&调试。
(场景二)在非昇腾AI设备上安装开发环境,仅能用于代码开发、编译等不依赖于昇腾设备的开发活动(例如ATC模型转换、算子和推理应用程序的纯代码开发)。
- 运行环境: 在昇腾AI设备上运行用户开发的应用程序或进行训练脚本的迁移、开发&调试。
二、在Windows下通过烧写DD镜像进行配置
格式化tf卡
用cmd窗口调用 DISKPART
在该程序中输入以下命令
LIST DISK 显示磁盘列表,根据内存值确定sd卡的磁盘号
SELECT DISK <磁盘号> 选中上一步中确定的磁盘号。 eg:SELECT DISK 2
CLEAN 删除整个磁盘数据。
CREATE PARTITION PRIMARY 创建主磁盘分区。
ACTIVE 激活磁盘分区。
FORMAT QUICK 快速格式化磁盘分区。
“Atlas200dk合设环境搭建–用镜像恢复的方式”
刚开始配置选用了最高版本,但是在该版本下开发板无法正常启动(四个led灯只亮了后两个led3和led4),就更不用说在Windows下连接配置rndis了,第一次连接设备显示为 hi3559
看到论坛上有人测试说最低版本还有一些其他版本测试成功,(这里不记得位置了,空了去找找链接放上来)但是因为网盘下载太慢,放弃了这个方法,如果想用这个方法(DD镜像恢复),还是不要用最高版本了
三、按照官方开发文档使用Linux制卡
采用开发环境于运行环境分设方法
鉴于虚拟机可分配内存较小,装了双系统去制卡,但是虚拟机也可以,在虚拟机设置一定要注意usb协议版本
官网提供的教程 为基于1.0.10.alpha的驱动版本和5.0.2.alpha003的cann版本
制卡过程中下载脚本命令为
wget https://gitee.com/ascend/tools/raw/master/makesd/for_1.0.10.alpha/make_sd_card.py
但是需要注意,该命令是基于1.0.10.alpha的驱动版本的,如果要更换版本,这里的路径也需要更改,下载make_ubuntu_sd.sh同理
到这里制卡就完成了
连接目标版
https://support.huaweicloud.com/environment-deployment-Atlas200DK1010/atlased_04_0014.html
wget https://gitee.com/ascend/tools/raw/master/configure_usb_ethernet/for_20.1/configure_usb_ethernet.sh
bash configure_usb_ethernet.sh
通过 ifconfig -a 查看usb网卡ip地址
登陆命令
ssh HwHiAiUser@192.168.1.2
缺省登录密码为“Mind@123”
四、传输文件
进行这一步是因为在制卡的时候我没有安装cann,同时也是为了了解ssh如何传输文件
通过ssh传输文件
在建立ssh连接后
比如:
1、把当前一个文件(Ascend-cann-nnrt_5.0.2.alpha003_linux-aarch64)复制到目标板上,可以如下命令:
这里我的工作目录已经在Ascend-cann-nnrt_5.0.2.alpha003_linux-aarch64.run的目录下了
scp Ascend-cann-nnrt_5.0.2.alpha003_linux-aarch64.run HwHiAiUser@192.168.1.2:/home/HwHiAiUser/cann
或者,从目标板上申请下载命令如下
scp fcy@192.168.1.166:/home/fcy/share/Ascend-cann-nnrt_5.0.2.alpha003_linux-aarch64.run .
不过如果想从目标板,服务器需要配置服务并启动服务以开启22号端口
sudo apt-get install openssh-server
具体可参考该博客:
linux开启SSH22端口
之后在服务器上执行下述命令,下载文件并复制到目标板
wget https://gitee.com/ascend/tools/raw/master/update_200dk/update_200dk.sh
scp update_200dk.sh HwHiAiUser@192.168.1.2:/home/HwHiAiUser/cann
安装过程如下
bash update_200dk.sh
su - HwHiAiUser
source ~/.bashrc
到这里运行环境就配置完成了(这里我选用的是运行环境和开发环境分设)
五、 搭建开发环境
MindStudio与Cann Toolkit架构图(来自官网)
MindStudio 是一款GUI程序。
如果只安装cann toolkit,则是在后台命令行的方式进行开发。
因为采用环境分设,所以需要在服务器安装当前针对当前主机的cann环境以及交叉编译cann环境。
(一)检查root用户的umask
输入👇命令,若结果不是0022,那么编辑~/.bashrc
umask
因为该文件是只读文件,故暴力读写🐶,可参考该连接Linux编辑只读文件
这里用了第一个方式
sudo gedit ~/.bashrc
然后,激活该环境变量
source ~/.bashrc
(二)安装依赖
一堆依赖,我因为是新装的双系统,啥也没有,检查之后直接全装,命令如下:
1.安装gcc,make以及python依赖软件
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
官方给出了如下说明:libsqlite3-dev需要在python安装之前安装,如果用户操作系统已经安装python3.7.5环境,在此之后再安装libsqlite3-dev,则需要重新编译python环境。
2.安装python
wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz
tar -zxvf Python-3.7.5.tgz
#从这开始编译啦,要是要重新编译从这里开始
cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
#编译的配置。其中“--prefix”参数用于指定python安装路径,用户根据实际情况进行修改,
#“--enable-shared”参数用于编译出libpython3.7m.so.1.0动态库,
#“--enable-loadable-sqlite-extensions”参数用于加载libsqlite3-dev依赖。
#执行后安装包在/usr/local/python3.7.5路径,libpython3.7m.so.1.0
#动态库在/usr/local/python3.7.5/lib/libpython3.7m.so.1.0
make
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
接下来有时设置环境变量啦~
以安装用户在任意目录下执行sudo gedit ~/.bashrc
命令,打开.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
3.安装python3相关依赖
pip3.7.5 install attrs --user
pip3.7.5 install psutil --user
pip3.7.5 install decorator --user
pip3.7.5 install numpy==1.17.2 --user
pip3.7.5 install protobuf --user
pip3.7.5 install scipy --user
pip3.7.5 install sympy --user
pip3.7.5 install cffi --user
当用户使用非root用户安装时,需要操作该章节;当用户使用root用户安装时,仅需执行步骤1。
请以root用户执行如下操作。
安装sudo,使用如下命令安装。
apt-get install sudo
打开“/etc/sudoers”文件:
chmod u+w /etc/sudoers
sudo gedit /etc/sudoers
在该文件中添加如下内容:
username ALL=(ALL:ALL) NOPASSWD:SETENV:/usr/bin/apt-get, /usr/bin/pip, /bin/tar, /bin/mkdir, /bin/rm, /bin/sh, /bin/cp, /bin/bash, /usr/bin/make install, /bin/ln -s /usr/local/python3.7.5/bin/python3 /usr/local/python3.7.5/bin/python3.7.5, /bin/ln -s /usr/local/python3.7.5/bin/pip3 /usr/local/python3.7.5/bin/pip3.7.5, /usr/bin/unzip, /usr/bin/find /etc -name openssl.cnf
其中username代表安装用户,请根据实际替换。
(三)安装开发者套件包
1.准备软件包
准备
Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run
、
Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run
安装包,
以及检验文件
Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run.sha256sum
、
Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run.sha256sum
,
软件包默认安装路径如下
项目 | 路径 |
---|---|
非root用户 | “${HOME}/Ascend/ascend-toolkit/latest” |
root用户 | “/usr/local/Ascend/ascend-toolkit/latest” |
2.安装开发包 | |
之后转换到工作目录 |
chmod +x *.run #为run文件增加可执行权限
#检查下载文件是否被篡改
./Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run --check
./Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run --check
#在默认目录下安装
./Ascend-cann-toolkit_5.0.2.alpha003_linux-aarch64.run --install --chip=Ascend310-minirc --blacklist=nnae
./Ascend-cann-toolkit_5.0.2.alpha003_linux-x86_64.run --install --chip=Ascend310-minirc --blacklist=nnae
–chip=Ascend310-minirc:指定芯片型号为Ascend310 Soc芯片(RC模式启动,作为主控CPU)。
配置了此参数,则会部署Ascend310RC形态的AI CPU软件包。
–blacklist=nnae:安装时屏蔽离线推理、在线推理、训练及IR构图的部分特性,即不安装FwkACLLib组件
3.安装MindStudio
下载 MindStudio_5.0.RC1_linux.tar.gz以及验证文件 ,或者其他版本
到工作目录解压
tar -zxvf MindStudio_5.0.RC1_linux.tar.gz
cd MindStudio/bin
./MindStudio.sh