环境准备
环境要求
安装DDK的环境,所要求的硬件及操作系统要满足以下条件。
类别 |
版本限制 |
获取方式 |
注意事项 |
---|---|---|---|
操作系统 |
7.4 |
请从http://vault.centos.org/7.4.1708/isos/x86_64/网站下载对应版本软件进行安装,可以下载如下推荐的版本:CentOS-7-x86_64-DVD-1708.iso |
DDK的安装及离线安装包都是基于Centos的基础版本服务器系统Infrastructure Server进行适配及测试的,所以用户在进行系统安装时务必选择安装Infrastructure Server系统软件,不能选择其它系统软件,例如Minimal Install、Development and Creative Workstation等。 |
Python |
Python2:2.7+ Python3:3.5+ |
请参见安装依赖。 |
- |
准备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用户安装时,需要操作该章节,否则请忽略。
- 执行以下命令打开“/etc/sudoers”文件:
chmod u+w /etc/sudoers vi /etc/sudoers
- 在该文件“root ALL=(ALL) ALL”下面增加如下内容:
username ALL=(ALL:ALL) NOPASSWD:SETENV: /usr/bin/yum
“username”为执行安装脚本的普通用户名。
- 添加完成后,执行: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”文件中的源更换为可用的源。
- 配置特殊源。
- 安装epel-release,用于支持python下载安装,安装在ius-release之前,命令为:
- 如果为首次安装,命令为:
yum install -y epel-release
- 如果非首次安装,命令为:
yum reinstall -y epel-release
如果用yum源安装epel-release失败,请参见FAQ 中的安装epel-release失败解决。
- 如果为首次安装,命令为:
- 安装ius-release,执行如下命令:
wget https://centos7.iuscommunity.org/ius-release.rpm --no-check-certificate rpm -vih ius-release.rpm
如果安装依赖时无法安装python35u,则参见如下方式替换ius.repo:
配置ius源,用于支持python35u下载安装,ius源在“/etc/yum.repos.d/ius.repo”文件中,请将如下内容替换ius.repo文件中的内容:[ius] name=IUS Community Packages for Enterprise Linux 7 - $basearch #baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7&arch=$basearch&protocol=http failovermethod=priority enabled=1 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7 [ius-debuginfo] name=IUS Community Packages for Enterprise Linux 7 - $basearch - Debug #baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/$basearch/debuginfo mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7-debuginfo&arch=$basearch&protocol=http failovermethod=priority enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7 [ius-source] name=IUS Community Packages for Enterprise Linux 7 - $basearch - Source #baseurl=https://dl.iuscommunity.org/pub/ius/stable/CentOS/7/SRPMS mirrorlist=https://mirrors.iuscommunity.org/mirrorlist?repo=ius-centos7-source&arch=source&protocol=http failovermethod=priority enabled=0 gpgcheck=1 gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-IUS-7
- 安装epel-release,用于支持python下载安装,安装在ius-release之前,命令为:
- 更新软件信息。
yum clean all yum makecache
安装依赖
请使用su - username命令切换到DDK安装用户执行如下操作,安装DDK工具依赖的gcc、python等组件。
- 执行如下命令安装相关依赖。
sudo -E yum install -y gcc-c++ cmake make python python-devel python2-pip python35u-devel python35u-pip
依赖安装完毕,执行命令python3检查是否存在python3,如果提示没有python3,执行如下命令创建软链接,将python3链接到python3.5:
- which python3.5:检查python3.5的安装路径。
- sudo ln -s /xxx/python3.5 /xxx/python3: /xxx表示python3.5以及python3所在的绝对路径。
如果执行该命令时提示没有权限,请切换到root用户设置软链接,设置完毕后,再切换到普通用户。
- 安装python相关依赖。
- 针对Python2.7的依赖安装,首先确保上面的过程执行成功,输入命令pip -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为例):
pip install decorator --user pip install numpy==1.16.0 --user pip install setuptools --upgrade --user
- 针对Python3.5的依赖安装,输入命令pip3.5 -V检查pip版本信息,若系统的回显信息如下所示。
pip 9.0.1 from /usr/lib/python3.5/site-packages (python 3.5)
表示pip3.5安装正确,然后执行如下命令,安装python3.5的相关依赖软件:
pip3.5 install numpy --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的依赖安装,首先确保上面的过程执行成功,输入命令pip -V检查pip版本信息,若系统的回显信息如下所示: