张小白带你玩转Atlas 200DK+CANN 5.0.4+MindStudio 3.0.4(七)合设环境准备(mksd)
七、合设环境之开发环境准备(mksd方式)
其实dd镜像方式就是合设环境,因为基本上能装好的东西都装好了,所以这里不必赘述。具体可参见 https://bbs.huaweicloud.com/blogs/345862 或者 https://bbs.huaweicloud.com/blogs/344170
我们这里仅对使用mksd方式制卡的环境安装开发环境。这样,一套TF卡的环境,既能跟 ubuntu 18.04 x86的虚拟机组成 分设环境,又能自己就变为 合设环境。
具体原理可以参见 https://bbs.huaweicloud.com/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.com/ubuntu-ports/ bionic main restricted universe multiverse
deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic main restricted universe multiverse
deb https://repo.huaweicloud.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-security main restricted universe multiverse
deb https://repo.huaweicloud.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://repo.huaweicloud.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb-src https://repo.huaweicloud.com/ubuntu-ports/ bionic-backports main restricted universe multiverse
## Not recommended
# deb https://repo.huaweicloud.com/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://repo.huaweicloud.com/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版本)
安装:
./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(这个好像制卡的时候就用到了。。。感觉有点奇怪)
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
(未完待续)
- 点赞
- 收藏
- 关注作者
评论(0)