安装前准备
用户准备
支持任意用户(root或者非root)安装AMCT,本章节以非root用户为例进行操作。
- 若使用root用户安装,则不需要操作该章节,不需要对root用户做任何设置。
- 若使用已存在的非root用户安装,须保证该用户对$HOME目录具有读写以及可执行权限。
- 若使用新的非root用户安装,请参考如下步骤进行创建,如下操作请在root用户下执行。本手册以该种场景为例执行AMCT的安装。
- 执行以下命令创建AMCT安装用户并设置该用户的$HOME目录。
useradd -d /home/username -m username
- 执行以下命令设置密码。
passwd username
username为安装AMCT的用户名,该用户的umask值不能小于0027:- 若要查看umask的值,则执行命令:umask
- 若要修改umask的值,则执行命令:umask 新的取值
- 执行以下命令创建AMCT安装用户并设置该用户的$HOME目录。
系统要求和环境检查
本章节以Ubuntu 20.04为例,详述安装前准备,版本配套信息如下:
类别 |
版本限制 |
获取方式 |
注意事项 |
---|---|---|---|
操作系统及版本 |
Ubuntu 20.04 x86_64 |
请从Ubuntu官网下载对应版本软件进行安装,安装完成后查询命令为: cat /etc/*release && uname -m |
|
操作系统及版本 |
Ubuntu 20.04 aarch64 |
请从Ubuntu官网下载对应版本软件进行安装,安装完成后查询命令为: cat /etc/*release && uname -m |
|
PyTorch |
1.10.0、1.8.0、1.5.0、1.4.0 推荐使用1.10.0
|
用户根据实际情况选择安装CPU或GPU,请参见安装依赖。 |
1.4.0版本不再推荐使用,使用时会有告警提示信息。 |
CUDA toolkit/CUDA driver |
11.1或10.2 |
请用户自行获取相关软件包进行安装,例如可以参见如下链接获取相关toolkit包,该包中包括driver软件包。 |
如果使用GPU模式执行量化功能,则CUDA软件必须安装。
|
ONNX |
1.9.0、1.8.0 |
请参见安装依赖。 |
|
ONNX Runtime |
1.8.0、1.6.0 |
||
Python |
Python3.7.x(3.7.5~3.7.11)、Python3.8.x(3.8.0~3.8.11)、Python3.9.x(3.9.0~3.9.2) 推荐使用Python3.9.2 |
Ubuntu操作系统请参见安装Python3.9.2(Ubuntu)。 |
|
numpy |
1.20.0~1.23.5 |
请参见安装依赖。 |
|
protobuf |
3.13.0+ |
安装依赖
请使用AMCT的安装用户安装依赖的软件,如果安装用户为非root,请确保该用户拥有sudo权限,请使用su - username命令切换到非root用户执行如下命令。
依赖名称 |
版本号 |
安装命令 |
---|---|---|
PyTorch版本的CPU或GPU |
1.10.0、1.8.0、1.5.0、1.4.0 推荐使用1.10.0 |
安装PyTorch时,请确保pip版本低于23.0.1,否则可能出现如下“ModuleNotFoundError:No module named 'torch' ”错误信息;如果用户pip版本高于23.0.1,且不想降低版本,则请优先安装wheel包(参考安装命令:pip3 install wheel --user),然后再执行后续操作。
|
ONNX |
1.10.0、1.9.0、1.8.0 |
|
ONNX Runtime |
1.9.0、1.8.0、1.6.0 |
|
python |
3.9.2 |
Ubuntu操作系统请参见安装Python3.9.2(Ubuntu)。 |
numpy |
1.20.0~1.23.5 |
pip3 install numpy==1.20.0 --user |
protobuf |
3.13.0+ |
pip3 install protobuf==3.13.0 --user |
上传软件包
以AMCT的安装用户将Ascend-cann-amct_{software version}_linux-{arch}.tar.gz软件包上传到Linux服务器任意目录下,本示例为上传到$HOME/amct/目录。
执行如下命令解压AMCT软件包:
tar -zxvf Ascend-cann-amct-{software version}_linux-{arch}.tar.gz
获得如下内容:
其中:{version}表示AMCT具体版本号,{software version}为软件版本号,{arch}表示具体操作系统架构。