Atlas500------开发环境部署(一)

 参考  https://support.huaweicloud.com/instg-ascend-deployer-cann330/atlasdeploy_03_0088.html

1.开发环境部署

      CANN(Compute Architecture for Neural Networks)是华为公司针对AI场景推出的异构计算架构,通过提供多层次的编程接口,支持用户快速构建基于昇腾平台的AI应用和业务。

1、通过离线部署工具(ascend-deployer)
2、通过命令行方式
3、通过msInstaller工具
离线部署工具有问题,无法配置开发环境
采用命令行方式
Atlas500------开发环境部署(一)_第1张图片

图1.1安装流程图

1.1 准备换机与安装包

系统环境:ubuntu18.04.1
http://old-releases.ubuntu.com/releases/18.04.1/ubuntu-18.04.1-desktop-amd64.iso
https://www.hiascend.com/software/cann/commercial
下载开发套件包toolkit(x86_64、aarch64)
Ascend-cann-toolkit_XXX_linux-x86_64.run
Ascend-cann-toolkit_XXX_linux-aarch64.run
操作系统 版本 获取方式
Ubuntu 操作系统版本:Ubuntu 18.04.1
处理器架构:aarch64
从Ubuntu官网获取。请从http://old-releases.ubuntu.com/releases/18.04.1/
网站下载如下推荐的版本:ubuntu-18.04.1-server-arm64.iso。
EulerOS 操作系统版本:EulerOS 2.8
处理器架构:aarch64

1.2 准备安装及运行用户

1.2.1 检查安装环境

1、 以root用户登录安装环境。
2、 检查root用户的umask值。

umask

3、 如果umask不等于0022,请执行如下操作配置,在该文件的最后一行添加umask 0022后保存。
a) 在任意目录下执行如下命令,打开.bashrc文件:

vi ~/.bashrc 

在文件最后一行后面添加umask 0022内容。
b) 执行:wq!命令保存文件并退出。
c) 执行source ~/.bashrc命令使其立即生效。

1.2.2 创建安装及运行用户

 运行用户:实际运行推理业务或执行训练的用户。
 安装用户:实际安装软件包的用户。
 若使用root用户安装,推荐使用非root用户运行相关业务,安装前需要先准备运行用户。
 若使用非root用户安装,则安装及运行用户必须相同。
 使用root用户安装
 已有非root用户,则无需再次创建。
 新建非root用户,请参见如下方法创建。
 创建非root用户操作方法如下,如下命令请以root用户执行。

1、创建非root用户。
以创建运行用户HwHiAiUser为例:

groupadd HwHiAiUser
useradd -g HwHiAiUser -d /home/HwHiAiUser -m HwHiAiUser -s /bin/bash

2、设置非root用户密码

passwd HwHiAiUser

1.3 安装OS依赖

1.3.1 安装前必读

     安装CANN软件前需安装相关依赖。推荐用户使用离线部署工具安装,若您使用的操作系统不在支持的OS清单中,可参照本章节使用命令行方式安装相关依赖。

本章节以Ubuntu 18.04为例,详述依赖安装操作。其他系统可参考进行安装。

1.3.2 依赖列表

类别 版本要求
Python 3.7.0~ 3.7.9
cmake >=3.5.1
make -
gcc 离线推理场景要求4.8.5版本及以上gcc在线推理、训练、Ascend Graph开发场景 要求7.3.0版本及以上gcc
g++
zlib1g
zlib1g-dev
libsqlite3-dev
openssl
libssl-dev
libffi-dev
unzip
pciutils
net-tools
libblas-dev
gfortran
libblas3
liblapack-dev
liblapack3
libopenblas-dev
无版本要求,安装的版本以操作系统自带的源为准。
numpy >=1.13.3&&<1.20
decorator >=4.4.0
sympy >=1.4
cffi >=1.12.3
protobuf >=3.11.3
attrs
pyyaml
pathlib2
scipy
requests
psutil
无版本要求,安装的版本以pip源为准。

1.3.3 安装步骤(Ubuntu18.04)

检查源
安装过程需要下载相关依赖,请确保安装环境能够连接网络。
请在root用户下执行如下命令检查源是否可用。

apt-get update

如果命令执行报错或者后续安装依赖时等待时间过长甚至报错,则检查网络是否连接或者把“/etc/apt/sources.list”文件中的源更换为可用的源或使用镜像源。
配置安装用户权限
当用户使用非root用户安装时,需要操作该章节,否则请忽略。
请以root用户执行如下操作。
1、 安装sudo,使用如下命令安装。

apt-get install sudo

2、 打开“/etc/sudoers”文件:

chmod u+w /etc/sudoers
vi /etc/sudoers

3、 在该文件中添加如下内容:

username ALL=(ALL:ALL) NOPASSWD:SETENV:/usr/bin/apt-get, /usr/bin/pip, /bin/tar, /bin/mkdir, /bin/sh, /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

4、添加完成后,执行:wq!保存文件。
5、执行以下命令取消“/etc/sudoers”文件的写权限:

chmod u-w /etc/sudoers

安装依赖
1、检查系统是否安装python依赖以及gcc等软件。
分别使用如下命令检查是否安装gcc,make以及python依赖软件等。

gcc --version
g++ --version
make --version
cmake --version
dpkg -l zlib1g| grep zlib1g| grep ii
dpkg -l zlib1g-dev| grep zlib1g-dev| grep ii
dpkg -l libsqlite3-dev| grep libsqlite3-dev| grep ii
dpkg -l openssl| grep openssl| grep ii
dpkg -l libssl-dev| grep libssl-dev| grep ii
dpkg -l libffi-dev| grep libffi-dev| grep ii
dpkg -l unzip| grep unzip| grep ii
dpkg -l pciutils| grep pciutils| grep ii
dpkg -l net-tools| grep net-tools| grep ii
dpkg -l libblas-dev| grep libblas-dev| grep ii
dpkg -l gfortran| grep gfortran| grep ii
dpkg -l libblas3| grep libblas3| grep ii
dpkg -l libopenblas-dev| grep libopenblas-dev| grep ii
若分别返回如下信息则说明已经安装,进入下一步。
gcc (Ubuntu 7.3.0-3ubuntu1~18.04) 7.3.0
g++ (Ubuntu 7.3.0-3ubuntu1~18.04) 7.3.0
GNU Make 4.1
cmake version 3.10.2
zlib1g:arm64   1:1.2.11.dfsg-0ubuntu2 arm64     compression library - runtime
zlib1g-dev:arm64 1:1.2.11.dfsg-0ubuntu2 arm64    compression library - development
libsqlite3-dev:arm64 3.22.0-1ubuntu0.3 arm64      SQLite 3 development files
openssl  1.1.1-1ubuntu2.1~18.04.6 arm64  Secure Sockets Layer toolkit - cryptographic utility
libssl-dev:arm64 1.1.1-1ubuntu2.1~18.04.6 arm64 Secure Sockets Layer toolkit - development files
libffi-dev:arm64 3.2.1-8     arm64   Foreign Function Interface library (development files)
unzip          6.0-21ubuntu1 arm64        De-archiver for .zip files
pciutils       1:3.5.2-1ubuntu1 arm64        Linux PCI Utilities
net-tools      1.60+git20161116.90da8a0-1ubuntu1 arm64     NET-3 networking toolkit
libblas-dev:arm64 3.7.1-4ubuntu1 arm64    Basic Linear Algebra Subroutines 3, static library
gfortran       4:7.4.0-1ubuntu2.3 arm64   GNU Fortran 95 compiler
libblas3:arm64 3.7.1-4ubuntu1 arm64 Basic Linear Algebra Reference implementations, shared library
libopenblas-dev:arm64 0.2.20+ds-4 arm64  Optimized BLAS (linear algebra) library (development files)

否则请执行如下安装命令(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可):

sudo 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 libncursesw5-dev

2、检查系统是否安装满足版本要求的python开发环境。
执行命令python3.7 --version,如果返回信息满足python版本要求(3.7.0~ 3.7.9),则直接进入下一步。
否则可参考如下方式安装python3.7.5。
a. 使用wget下载python3.7.5源码包,可以下载到安装环境的任意目录,命令为:

wget https://www.python.org/ftp/python/3.7.5/Python-3.7.5.tgz

b. 进入下载后的目录,解压源码包,命令为:

tar -zxvf Python-3.7.5.tgz

c. 进入解压后的文件夹,执行配置、编译和安装命令:

cd Python-3.7.5
./configure --prefix=/usr/local/python3.7.5 --enable-loadable-sqlite-extensions --enable-shared
make
sudo make install

其中“–prefix”参数用于指定python安装路径,用户根据实际情况进行修改。“–enable-shared”参数用于编译出libpython3.7m.so.1.0动态库。“–enable-loadable-sqlite-extensions”参数用于加载libsqlite3-dev依赖。
本手册以–prefix=/usr/local/python3.7.5路径为例进行说明。执行配置、编译和安装命令后,安装包在/usr/local/python3.7.5路径,libpython3.7m.so.1.0动态库在/usr/local/python3.7.5/lib/libpython3.7m.so.1.0路径。
d. 执行如下命令设置软链接:

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

e. 设置python3.7.5环境变量。

#用于设置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

为后续安装CANN软件包、运行相关业务时能够自动配置python3.7.5环境变量,用户需提前创建好文件“use_private_python.info”,操作参考如下:
(1)执行如下命令创建文件:
root用户

vi /etc/use_private_python.info

非root用户(以HwHiAiUser用户为例)

vi /home/HwHiAiUser/use_private_python.info

(2)在文件中添加以下内容:

python37_install_path=/usr/local/python3.7.5

其中“/usr/local/python3.7.5”为python3.7.5安装路径,请根据实际替换。
(3) 执行:wq命令保存文件并退出。
安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。

python3.7 --version
pip3.7 --version

3、安装前请先使用pip3.7 list命令检查是否安装相关依赖,若已经安装,则请跳过该步骤;若未安装,则安装命令如下(如果只有部分软件未安装,则如下命令修改为只安装还未安装的软件即可)。
安装前,建议执行命令pip3.7 install --upgrade pip进行升级,避免因pip版本过低导致安装失败。
如下命令如果使用非root用户安装,需要在安装命令后加上–user,例如:pip3.7 install attrs --user,安装命令可在任意路径下执行。
要求numpy版本大于等于1.13.3且小于1.20,推荐numpy版本为1.17.2。

pip3.7 install attrs
pip3.7 install numpy==1.17.2
pip3.7 install decorator
pip3.7 install sympy
pip3.7 install cffi
pip3.7 install pyyaml
pip3.7 install pathlib2
pip3.7 install psutil
pip3.7 install protobuf
pip3.7 install scipy
pip3.7 install requests

1.4 在非昇腾设备上安装

1.4.1 安装开发套件包

前提条件
请参见安装OS依赖完成安装前准备。
通过准备软件包章节获取两种架构的开发套件包Ascend-cann-toolkit_xxx.run。
安装步骤
1、 以软件包的安装用户登录安装环境。若安装OS依赖中安装依赖的用户为root用户,则软件包的安装用户可自行指定;若安装OS依赖中安装依赖的用户为非root用户,请确保软件包的安装用户与该用户保持一致。
2、 将获取到的开发套件包上传到安装环境任意路径(如“/home/package”)。
3、 进入软件包所在路径。
4、 增加对软件包的可执行权限。

chmod +x *.run

说明:其中.run表示开发套件包Ascend-cann-toolkit_{version}_linux-{arch}.run,请根据实际包名进行替换。*
5、 执行如下命令校验软件包安装文件的一致性和完整性。

./*.run --check

6、 执行以下命令安装软件。(以下命令支持–install-for-all和–install-path= 等,具体参数说明请参见参数说明)
若使用非root用户安装,请执行以下命令。

./*.run --install

若使用root用户安装,请执行以下命令。
若使用默认运行用户HwHiAiUser:

./*.run --install

若用户需自行指定运行用户:

./*.run --install-username=username --install-usergroup=usergroup --install
其中--install-username和--install-usergroup用于指定运行用户。

说明:
如果以root用户安装,建议不要安装在非root用户目录下,否则存在被非root用户替换root用户文件以达到提权目的的安全风险。
如果用户未指定安装路径,则软件会安装到默认路径下,默认安装路径如下。
root用户:“/usr/local/Ascend”
非root用户:“ H O M E / A s c e n d ” 其 中 {HOME}/Ascend” 其中 HOME/Ascend{HOME}为当前用户目录。
安装完成后,若显示如下信息,则说明软件安装成功:

[INFO] xxx install success

xxx表示安装的实际软件包名。

1.4.2配置交叉编译环境

对于Atlas 200 AI加速模块 (RC场景)和Atlas 500 智能小站,是准备一台X86服务器(或者PC)用作搭建开发环境。因此需要在开发环境安装交叉编译工具,具体如表1所示:

开发环境架构 运行环境架构 编译环境配置
x86_64 aarch64 请使用软件包的安装用户,在开发环境执行aarch64-linux-gnu-g++ --version命令检查是否安装,若已经安装则可以忽略。安装命令示例如下(以下命令仅为示例,请用户根据实际情况替换):sudo apt-get install g++ -aarch64-linux-gnu

你可能感兴趣的:(模型迁移,ubuntu,linux)