当前位置:   article > 正文

atlas200DK离线推理运行环境搭建_altas 200dk

altas 200dk

atlas200DK离线推理运行环境搭建

应用背景

在atlas200dk(ascend310芯片)上搭建python离线推理环境,从制作SD卡镜像到运行python离线推理demo全流程。

前提条件

拥有以太网直连可上网环境。

具体步骤

制作SD卡镜像

镜像包内必备两个文件:npu-driver和ubuntu镜像,前者是NPU驱动相关文件,后者是系统镜像。

本流程中使用的制卡镜像包百度网盘链接如下:

链接:https://pan.baidu.com/s/1FFhFiB7LOeDiXmxEg7oHwg?pwd=3f7y
提取码:3f7y
–来自百度网盘超级会员V6的分享

此镜像包中,打开了ascend310的uart0串口,可以通过串口监视atlas系统是否正常启动。

具体制卡流程参见Atlas200 DK(3000型号)启动镜像制卡步骤记录

更新ubuntu软件安装源

修改DHCP设置

镜像中atlas以太网口的默认设置是静态IP,IP地址为192.168.0.2。为了后续可以联网安装环境,需要将以太网口设置为DHCP。

配置以太网口是通过uart0串口进行的,因此要确保打开了uart0。

su #切换为root用户
cd /etc/netplan
vi 01-netcfg.yaml
  • 1
  • 2
  • 3

将文档中eth0的dhcp4设置为yes,注释掉addresses、gateway4、nameservers、addresses。修改后的yaml文件见下图。

修改后wq!保存退出,使用reboot命令重启atlas。
在这里插入图片描述

更换ubuntu安装源

重启系统后,将atlas接入可上网的路由器,使用ifconfig命令查看路由器分配给atlas的IP地址。

使用ping远程ping一下百度的网站,如果可以ping通,则此时atlas已经具备联网状态。

su #切换为root用户
cd /etc/apt
cp sources.list sources.list.backup #备份一下原来的安装源
vi sources.list
  • 1
  • 2
  • 3
  • 4

将sources.list中的源更换为国内源,本流程中使用的是清华源,ubuntu18.04版本。**注意,因为atlas200是aarch64架构,所以要使用arm源。**更换完成后,将清华源中所有的https改为http,使用wq!保存退出。

# 默认注释了源码镜像以提高 apt update 速度,如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-security main restricted universe multiverse

# 预发布软件源,不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu-ports/ bionic-proposed main restricted universe multiverse
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
apt更新,软件升级

使用如下命令完成apt源更新和软件包升级。更新完成后,atlas具备了apt在线安装条件。

su #切换root用户
apt update
apt upgrade
  • 1
  • 2
  • 3

安装nnrt离线推理引擎包

去昇腾官网下载NNRT离线推理引擎包社区版,下载地址:https://www.hiascend.com/software/cann/community

本流程下载的软件包名称为:Ascend-cann-nnrt_6.0.0.alpha006_linux-aarch64.run。

下载完成后,使用SCP命令将软件包拷贝到开发板上。安装nnrt软件包时,分别使用root用户和HwHiAiUser用户安装一次。

具体安装命令如下:

su # 切换root用户
./Ascend-cann-nnrt_6.0.0.alpha006_linux-aarch64.run --install
# 安装完成后
vi ~/.bashrc # 注意,此时打开的是root用户的bashrc
  • 1
  • 2
  • 3
  • 4

在文件最末尾加入以下内容:

. /usr/local/Ascend/nnrt/set_env.sh

保存退出,使用source命令执行一下bashrc,使设置生效。

source ~/.bashrc
  • 1

切换回普通用户,重新执行上述安装、设置环境变量过程。安装完后,可删除.run安装包。

注意root用户和普通用户的默认安装位置是不同的,配置环境变量时要使用对应的安装路径。

安装python3.7.5和python依赖包

安装python3.7.5

安装指定版本的python,需要从源码开始安装。

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz #下载python3.7.5源码
  • 1

安装编译Python3.7.5的必要依赖。

su #切换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 liblapack-dev
# 比官方教程多了一个liblapack-dev
  • 1
  • 2
  • 3

编译安装Python3.7.5

cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared --with-ssl
# 比官方教程多了一个--with-ssl,如果这里不对ssl进行配置,后面使用pip安装python库时会提醒没有ssl模组的错误
make
make install
  • 1
  • 2
  • 3
  • 4
  • 5

Python编译安装完成后,设置Python的环境变量,分别为root和普通用户设置,在相应的.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
  • 1
  • 2
  • 3
  • 4

安装完成后,使用python3 --version和pip3 --version命令检查是否成功安装。

安装python依赖包

首先更换pip源为国内源,这样下载包的速度可以提高。本流程使用的pip源为华为源。

# 当前用户为HwHiAiUser
mkdir ~/.pip
cd ~/.pip
vi pip.conf
  • 1
  • 2
  • 3
  • 4

在打开的文件中写入如下内容:

[global]
#以华为源为例,请根据实际情况进行替换。
index-url = https://mirrors.huaweicloud.com/repository/pypi/simple
trusted-host = mirrors.huaweicloud.com
timeout = 120
  • 1
  • 2
  • 3
  • 4
  • 5

如果配置其它源,将index-url更改为对应的源链接即可。

更换完成后保存退出,开始使用pip3安装依赖包。

# 当前用户为HwHiAiUser
# 建议按本流程命令安装pip包
pip3 install attrs decorator sympy cffi pyyaml pathlib2 psutil protobuf requests absl-py --user #使用非root用户安装,添加--user选项避免权限问题
# numpy scipy两个库比较大,安装时间长,单独安装,防止中途失败导致其它库重新安装
pip3 install numpy --user
pip3 install scipy --user 

# 安装opencv-python(否则报no module name cv2)
# 先安装pip
su #切换用户
apt install python-pip
# 升级完pip再安装opencv-python,直接用pip3安装opencv总是报cmake版本过低的问题,升级一下pip再安装opencv,好像就解决了。
pip3 install --upgrade pip
pip3 install opencv-python
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14

下载samples样例,运行demo

样例的环境部署和运行步骤在ascend的代码仓库有完整的readme描述,这里不再重复。

本流程运行的demo为YOLOV4_coco_detection_car_picture,gitee链接:https://gitee.com/ascend/samples/tree/master/python/level2_simple_inference/2_object_detection/YOLOV4_coco_detection_car_picture

运行成功的效果见下图,即可验证具备了运行离线推理模型的环境条件。
在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/凡人多烦事01/article/detail/407099
推荐阅读
相关标签
  

闽ICP备14008679号