环境准备
环境要求
安装DDK的环境,所要求的硬件及操作系统要满足以下条件。
类别 |
版本限制 |
获取方式 |
注意事项 |
---|---|---|---|
操作系统 |
EulerOS-V2.0SP8 |
请联系华为技术支持获取如下推荐的版本: EulerOS-V2.0SP8-aarch64-dvd.iso |
建议使用内核版本为4.19.36-vhulk1907.1.0.h410.eulerosv2r8.aarch64的EulerOS。 |
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用户安装时,需要操作该章节,否则请忽略。
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
“username”为执行安装脚本的普通用户名。
- 添加完成后,执行:wq!保存文件。
- 执行以下命令取消“/etc/sudoers”文件的写权限。
chmod u-w /etc/sudoers
请确保“/etc/sudoers”文件的最后一行为“#includedir /etc/sudoers.d”,如果没有该信息,请手动添加。
配置本地源
由于EulerOS镜像存在小版本间差异,为避免兼容性差异,建议使用本地镜像源进行安装。
请以root用户执行如下操作。
- 上传EulerOS-V2.0SP8-aarch64-dvd.iso至服务器中,执行下列命令进行镜像挂载。
命令: mount -o loop 欧拉镜像.iso 镜像挂载路径
示例:mount -o loop EulerOS-V2.0SP8-aarch64-dvd.iso /mnt
- 进入源管理文件路径/etc/yum.repos.d,备份repo文件。
命令: cp 源管理文件.repo 源管理文件.repo.bak
示例:cp euleros_aarch64.repo euleros_aarch64.repo.bak
- 替换源管理文件如下。
命令: vim源管理文件.repo
示例: vim euleros_aarch64.repo
[base] name=EulerOS-2.0SP8 base baseurl=file:///mnt enabled=1 gpgcheck=0
如果用镜像挂载路径非/mnt,请自行替换baseurl的对应值。
- 更新软件信息。
yum clean all yum makecache
安装依赖
请使用su - username命令切换到DDK安装用户执行如下操作,安装DDK工具依赖的python等组件。
- 检查系统是否安装python2及python3。
DDK安装依赖python2及python3环境,使用命令python -V、python3 -V检查系统是否安装python2及python3。
若返回如下信息则说明已经安装。否则执行2,安装python2及python3。
python 2.7.15 python 3.7.0
- 安装python2及python3。
- 检索源列表中是否存在可用python2及python3。
sudo yum list “*python2*”
sudo yum list “*python3*”
- 如果源列表中存在python2.aarch64及python3.aarch64镜像软件(不同镜像源软件名可能有所差异)。请执行如下命令,安装python2及python3。
命令:sudo yum install 镜像软件名称
示例:sudo yum install python3.aarch64
- 检索源列表中是否存在可用python2及python3。
- 安装python2及python3依赖。
- 执行如下命令,查找已安装的numpy及decorator安装库:
rpm -qa | grep numpy
rpm -qa | grep decorator
回显信息如下,表示存在python2及python3的numpy及decorator安装库。若存在未安装的numpy及decorator安装库,请执行3.b~3.c,安装缺失的numpy及decorator安装库。
python3-decorator-4.3.0-1.eulerosv2r8.noarch python3-numpy-1.15.1-1.eulerosv2r8.aarch64 python2-decorator-4.3.0-1.eulerosv2r8.noarch python2-numpy-1.15.1-1.eulerosv2r8.aarch64
- 搜索可用的numpy及decorator安装库:
sudo yum list "*numpy*"
sudo yum list "*decorator*"
回显信息如下,表示存在可用的numpy及decorator安装库。
python2-numpy.aarch64 python2-decorator.noarch python3-numpy.aarch64 python3-decorator.noarch
若无法查询到python3的numpy安装库,请联系华为技术支持获取内核版本为4.19.36-vhulk1907.1.0.h529.eulerosv2r8.aarch64及以上的EulerOS镜像包。重新配置本地源。
- 执行如下命令,安装缺失的python2及python3的numpy及decorator安装库。
命令:sudo yum install numpy依赖库
示例:sudo yum install python3-numpy.aarch64
命令:sudo yum install decorator依赖库
示例:sudo yum install python3-decorator.noarch
- 执行如下命令,查找已安装的numpy及decorator安装库:
恢复源配置(可选)
后续如果不继续使用本地源,可执行如下操作步骤将源管理文件恢复。
- 进入源管理文件路径/etc/yum.repos.d,恢复repo文件。
cp -f euleros_aarch64.repo.bak euleros_aarch64.repo
- 取消镜像文件的挂载。
命令: umount 挂载路径
示例: umount /mnt