环境准备
环境要求
安装DDK的环境,所要求的硬件及操作系统要满足以下条件。
类别 |
版本限制 |
获取方式 |
注意事项 |
---|---|---|---|
操作系统 |
7.6 |
请从http://vault.centos.org/altarch/7.6.1810/isos/aarch64/网站下载如下推荐的版本: CentOS-7-aarch64-Everything-1810.iso |
DDK的安装及离线安装包都是基于Centos的基础版本服务器系统Infrastructure Server进行适配及测试的,所以用户在进行系统安装时务必选择安装Infrastructure Server系统软件,不能选择其它系统软件,例如Minimal Install、Development and Creative Workstation等。 |
Python |
Python2:2.7+ Python3:3.5+ |
请参见安装依赖。 |
请安装Python 2.7及以上的Python2和3.5及以上版本的Python3,两个版本的Python都需要安装。 |
准备DDK安装用户(可选)
您可以使用任意用户(root或非root用户)安装DDK。
- 若使用root用户安装,则不需要操作该章节。
- 若使用已存在的非root用户安装,须保证该用户对$HOME目录具有读写以及可执行权限。
- 若使用新的非root用户安装,请参考如下步骤进行创建,如下操作请在root用户下执行。本手册以该种场景为例执行DDK的安装。
- 执行以下命令创建DDK安装用户并设置该用户的$HOME目录,并确保用户对$HOME目录具有读写以及可执行权限。
useradd -d /home/username -m username
- 执行以下命令设置密码。
passwd username
username为安装DDK的用户名,该用户的umask值不能大于0027:- 若要查看umask的值,则执行命令:umask
- 若要修改umask的值,则执行命令:umask 新的取值
若创建的非root用户为HwHiAiUser,且DDK部署在Host侧服务器,使用该用户进行离线模型转换时,日志默认输入到host侧/var/dlog目录中,您也可以通过设置如下环境变量,使日志默认输出到屏幕上。export SLOG_PRINT_TO_STDOUT=1
- 执行以下命令创建DDK安装用户并设置该用户的$HOME目录,并确保用户对$HOME目录具有读写以及可执行权限。
- 更改文件描述符限制大小。
- 使用root用户打开系统配置文件:“/etc/security/limits.conf”,命令为:
vi /etc/security/limits.conf
- 在limits.conf文件末尾添加如下内容:
* soft nproc 65535 * hard nproc 65535 * soft nofile 65535 * hard nofile 65535
“*”代表所有用户,建议替换为DDK安装用户名。
- 保存文件并退出::wq!。
- 使用root用户打开系统配置文件:“/etc/security/limits.conf”,命令为:
配置DDK安装用户权限(可选)
当使用非root用户安装时,需要操作该章节,否则请忽略。
DDK安装前需要下载相关依赖软件,下载依赖软件需要使用sudo yum等权限,请以root用户执行如下操作。
- 执行以下命令打开“/etc/sudoers”文件:
chmod u+w /etc/sudoers vi /etc/sudoers
- 在该文件“root ALL=(ALL:ALL) ALL”下面增加如下内容:
username ALL=(ALL:ALL) NOPASSWD:SETENV: /usr/bin/yum,/bin/make install,/bin/ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3,/bin/ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3.5,/bin/ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3,/bin/ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3.5
“username”为执行安装脚本的普通用户名。
当执行其他sudo命令时,比如删除python3的软链接(sudo rm -rf python3),如果出现如下报错:
Sorry, user sam is not allowed to execute '/bin/rm -rf python3' as root on localhost.localdomain.
请切换到root用户,打开“/etc/sudoers”文件,在2最后一行增加/bin/rm -rf python3命令,设置完成后,切换到普通用户,即可获得操作权限。
- 添加完成后,执行:wq!保存文件。
- 执行以下命令取消“/etc/sudoers”文件的写权限。
chmod u-w /etc/sudoers
请确保“/etc/sudoers”文件的最后一行为“#includedir /etc/sudoers.d”,如果没有该信息,请手动添加。
配置网络
如果CentOS系统启动之后,无法通过远程终端连接网络,需要进行网卡配置,配置方法如下:
在root用户下打开网卡配置文件,命令为:
vi /etc/sysconfig/network-scripts/ifcfg-enp2s0f0
ifcfg-enp2s0f0为网卡名,此处作为示例,使用时请以用户的网卡名为准。
更改“ONBOOT”参数为“yes”,设置自动启动网络连接,如下图所示。
BOOTPROTO表示设备的IP类型,如果是静态IP可设置成static或none;如果是动态IP,请配置成dhcp,自动获取IP。
设置完毕后保存文件并退出,执行如下命令重启网络服务:
service network restart
配置源
DDK安装过程需要下载相关依赖,请确保安装DDK的服务器能够连接网络。请以root用户执行如下操作。
- 执行如下命令检查源是否可用。
yum makecache
如果命令执行报错,则检查网络是否连接或者将如下内容替换成“/etc/yum.repos.d/CentOS-Base.repo”文件中的源。[base] name=CentOS-$releasever - Base mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 #released updates [updates] name=CentOS-$releasever - Updates mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 #additional packages that may be useful [extras] name=CentOS-$releasever - Extras mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64 enabled=1 #additional packages that extend functionality of existing packages [centosplus] name=CentOS-$releasever - Plus mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra gpgcheck=1 enabled=0 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7 file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7-aarch64
- 配置特殊源,用于支持python下载安装。
yum install -y epel-release
如果用yum源安装epel-release失败,请参见
解决。 - 更新软件信息。
yum clean all yum makecache
安装依赖
请使用su - username命令切换到DDK安装用户执行如下操作,安装DDK工具依赖的gcc、python等组件。
- 安装python3.5。
CentOS没有合适的源安装python3.5,所以python3.5采用安装包的形式进行安装。
- 安装python3.5可能使用的依赖。(如下命令如果出现换行,请将命令复制到word或者记事本中,在换行处加入空格,再合成一行复制到服务器中执行)
sudo -E yum install -y openssl-devel zlib-devel bzip2-devel expat-devel gdbm-devel gcc readline-devel sqlite-devel ncurses-devel
- 使用wget下载python3.5安装包,可以下载到CentOS服务器任意目录,命令为:
wget https://www.python.org/ftp/python/3.5.1/Python-3.5.1.tgz
- 进入下载后的目录,解压安装包,命令为:
tar -zxvf Python-3.5.1.tgz
- 进入解压后的文件夹,执行配置,编译和安装命令:
cd Python-3.5.1 ./configure --prefix=/usr/local/python3 make sudo make install
- 执行如下命令设置软链接:
sudo ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3 sudo ln -s /usr/local/python3/bin/python3.5 /usr/bin/python3.5 sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3 sudo ln -s /usr/local/python3/bin/pip3 /usr/bin/pip3.5
- 安装完成之后,执行如下命令查看安装版本,如果返回相关版本信息,则说明安装成功。
python3 -V pip3 -V
- 安装python3.5可能使用的依赖。(如下命令如果出现换行,请将命令复制到word或者记事本中,在换行处加入空格,再合成一行复制到服务器中执行)
- 执行如下命令安装相关依赖。
sudo -E yum install -y gcc-c++ cmake make python python-devel python2-pip gcc-gfortran
- 安装python依赖。
- 针对Python2.7的依赖安装,首先确保上面的过程执行成功,输入命令pip2 -V检查pip版本信息,若系统的回显信息如下所示。
pip 8.1.2 from /usr/lib/python2.7/site-packages (python 2.7)
表示pip安装正确,然后执行如下命令,安装python2.7的相关依赖软件(numpy版本仅支持1.11.0~1.16.0,如下以1.16.0为例):
pip2 install numpy==1.16.0 --user pip2 install decorator --user pip2 install setuptools --upgrade --user
- 针对Python3.5的依赖安装,输入命令pip3.5 -V检查pip版本信息,若系统的回显信息如下所示。
pip 7.1.2 from /usr/lib/python3.5/site-packages (python 3.5)
表示pip3.5安装正确,然后执行如下命令,安装python3.5的相关依赖软件(numpy版本仅支持1.11.0~1.16.0,如下以1.16.0为例):
pip3.5 install numpy==1.16.0 --user pip3.5 install decorator --user pip3.5 install setuptools --upgrade --user
如果执行pip3.5 -V时提示“Import Error:cannot import name main”,请参见pip3(或pip3.5)升级后运行pip3 -V(或pip3.5 -V)提示Import Error:cannot import name main解决。
- 针对Python2.7的依赖安装,首先确保上面的过程执行成功,输入命令pip2 -V检查pip版本信息,若系统的回显信息如下所示。