张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(七)合设环境准备(mksd)

举报
张辉 发表于 2022/04/13 17:32:18 2022/04/13
【摘要】 Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4

七、合设环境之开发环境准备(mksd方式)

其实dd镜像方式就是合设环境,因为基本上能装好的东西都装好了,所以这里不必赘述。具体可参见 https://bbs.huaweicloud.cn/blogs/345862 或者 https://bbs.huaweicloud.cn/blogs/344170

我们这里仅对使用mksd方式制卡的环境安装开发环境。这样,一套TF卡的环境,既能跟 ubuntu 18.04 x86的虚拟机组成 分设环境,又能自己就变为 合设环境。

具体原理可以参见 https://bbs.huaweicloud.cn/blogs/345859

由于是合设环境,如无特别说明,以下操作都是在登录到200DK的MobaXterm终端上进行。

1、查看版本

查看200DK的驱动版本:

查看200DK的固件(firmware)版本:

根据下面的设置:

张小白的摄像头从位置上看,应该用的是Channel-2/CAMERA1。

2、环境变量设置

在~/.bashrc中增加如下内容:

export CPU_ARCH=aarch64
export THIRDPART_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}  #代码编译时链接第三方库
export LD_LIBRARY_PATH=${HOME}/Ascend/thirdpart/${CPU_ARCH}/lib:$LD_LIBRARY_PATH  #运行时链接库文件
export INSTALL_DIR=${HOME}/Ascend/ascend-toolkit/latest  #CANN软件安装后文件存储路径

source ~/.bashrc

这样,无论是通过MindStudio远程调用执行,还是使用200DK的本地编译后的代码运行,应该都可以了。

3、修改apt源

修改apt的arm源: /etc/apt/sources.list

deb https://repo.huaweicloud.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb-src https://repo.huaweicloud.cn/ubuntu-ports/ bionic main restricted universe multiverse
 
deb https://repo.huaweicloud.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src https://repo.huaweicloud.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
 
deb https://repo.huaweicloud.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src https://repo.huaweicloud.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
 
deb https://repo.huaweicloud.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src https://repo.huaweicloud.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
 
## Not recommended
# deb https://repo.huaweicloud.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://repo.huaweicloud.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse


apt-get update

4、安装git并获取sample代码仓

切换到HwHiAiUser用户,获取sample代码仓:

5、准备sample仓相关工具

6、安装系统依赖包

这里需要注意的是:200DK的HwHiAiUser用户不能通过sudo执行apt-get install命令,所以只有先su到root用户,然后使用root用户安装系统依赖包。

apt-get install -y gcc g++ make cmake zlib1g zlib1g-dev openssl libsqlite3-dev libssl-dev libffi-dev unzip pciutils net-tools libblas-dev gfortran libblas3 libopenblas-dev

7、源码安装Python 3.7.5

wget https://npm.taobao.org/mirrors/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

make -j8

耐心等待直到编译成功:

切换到root用户,执行make install

回到HwHiAiUser用户,修改.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

source ~/.bashrc 使得环境变量生效。

查看Python安装结果:

8、安装CANN Toolkit 5.0.4alpha005

 从这里下载toolkit软件包:(注意需要下载aarch64版本)

wget https://ascend-repo.obs.cn-east-2.myhuaweicloud.com/CANN/5.0.4.alpha005/Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run

安装:

 ./Ascend-cann-toolkit_5.0.4.alpha005_linux-aarch64.run --install --chip=Ascend310-minirc

好像有问题,是Python没有用ssl编译吗?

但是报错归报错,最后好像还是装完了:

将.bashrc加入下面一行:

. /home/HwHiAiUser/Ascend/ascend-toolkit/set_env.sh

source ~/.bashrc

9、重新源码安装Python 3.7.5

张小白对Python不支持SSL这点有点不大放心,决定加入SSL参数,重新源码编译Python 3.7.5

cd Python3.7.5

vi  Modules/Setup

(注:上图中要去掉 timemodule.c

重新configure:

make clean

./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared

make -j8

su root

make install -j8

检查一下python的ssl模块还有没有:

python3

import ssl

终于有了!

10、修改PIP源并升级PIP

11、安装PIP相关依赖

pip install wheel --user

pip3 install attrs  numpy==1.17.2 decorator sympy cffi pyyaml  pathlib2  psutil protobuf scipy requests --user

。。。

12、CANN npu driver安装

下载npu driver(这个好像制卡的时候就用到了。。。感觉有点奇怪)

wget https://obs-9be7.obs.cn-east-2.myhuaweicloud.com/turing/resource/atlas200dk/1.0.12/A200dk-npu-driver-21.0.3.1-ubuntu18.04-aarch64-minirc.tar.gz

tar -zxvf A200dk-npu-driver-21.0.3.1-ubuntu18.04-aarch64-minirc.tar.gz

将解压后的目录移到 $INSTALL_DIR下去:

13、安装OpenCV

在200DK上安装opencv

.。。

x86环境copy回对应的so:(注意此时在开发环境操作,请注意截图中,davinci-mini的就是200DK的运行环境,ascend@ubuntu就是x86的开发环境)

cd /usr/lib/aarch64-linux-gnu

sudo scp -r HwHiAiUser@192.168.1.2:/lib/aarch64-linux-gnu/* ./


sudo scp -r HwHiAiUser@192.168.1.2:/usr/lib/aarch64-linux-gnu/* ./


sudo scp -r HwHiAiUser@192.168.1.2:/usr/lib/*.so.* ./

sudo scp -r HwHiAiUser@192.168.1.2:/usr/include/opencv* /usr/include

14、安装ffmpeg

在200DK上源码安装ffmpeg,先下载源码包:

解压:

./configure --enable-shared --enable-pic --enable-static --disable-x86asm --cross-prefix=aarch64-linux-gnu- --enable-cross-compile --arch=aarch64 --target-os=linux --prefix=${THIRDPART_PATH}

make -j8

su 切换到root用户

make install

15、安装acllite

在ubuntu x86安装acllite

cd ${HOME}/samples/cplusplus/common/acllite/

sudo make install

将编译结果拷贝到200DK:

sudo scp -r ${THIRDPART_PATH}/* HwHiAiUser@192.168.1.2:${THIRDPART_PATH}

部署acllite

su - 切换到root用户

编辑 /etc/ld.so.conf.d/mind_so.conf,加入下面一行:

${THIRDPART_PATH}/lib

然后ldconfig

(未完待续)

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。