安装前准备

昇腾模型压缩工具用户准备

支持任意用户(root或者非root)安装昇腾模型压缩工具,本章节以非root用户为例进行操作。

系统要求和环境检查

昇腾模型压缩工具目前支持在Ubuntu 18.04 x86_64、Ubuntu 18.04 aarch64、KylinV10SP1 x86_64、openEuler 20.03 x86_64和UOS20 aarch64操作系统安装。

版本配套信息如下:

表1 配套版本信息

类别

版本限制

获取方式

备注

操作系统及版本

Ubuntu 18.04 x86_64

请从Ubuntu官网下载对应版本软件进行安装,例如可以下载Server版ubuntu-18.04-server-amd64.iso

支持基于CPU,GPU的量化。

操作系统及版本

Ubuntu 18.04 aarch64

请从Ubuntu官网下载Server版进行安装,包名为:ubuntu-18.04.xx-server-arm64.iso

支持基于CPU,GPU的量化。

操作系统及版本

KylinV10SP1 x86_64

-

仅支持基于CPU量化。

操作系统及版本

openEuler 20.03 x86_64

-

仅支持基于CPU量化。

操作系统及版本

UOS20 aarch64

-

仅支持基于CPU量化。

Caffe环境

caffe-master分支

当前仅支持commit id为9b891540183ddc834a02b2bd81b31afae71b2153的版本

请参考Caffe官方指导准备Caffe环境:https://github.com/BVLC/caffe/tree/master

推荐使用源码方式安装Caffe环境,如果使用命令行方式安装,出现类似"/usr/bin/python3.7: can't open file '/usr/lib/python3.7/py_compile.py': [Error 2] No such file or directory"信息时,请参见使用命令行方式安装Caffe环境失败解决。

-

CUDA toolkit/CUDA driver

10.0

请用户自行获取相关软件包进行安装,例如可以参见如下链接获取相关toolkit包,该包中包括driver软件包。

https://developer.nvidia.com/cuda-toolkit-archive

如果使用GPU模式执行量化功能,则CUDA软件必须安装。

Python

3.7.5

Ubuntu、KylinV10SP1、openEuler和UOS操作系统请参见安装Python3.7.5(Ubuntu)

安装依赖时,请确保服务器能够连接网络。

说明:

该工具对Python版本的支持为3.7.0-3.7.9,本手册以Python3.7.5为例进行介绍,相应环境变量和安装命令以实际安装Python版本为准。

numpy

1.16.0+

请参见安装依赖

protobuf

3.13.0+

安装依赖

请使用昇腾模型压缩工具的安装用户安装依赖的软件,如果安装用户为非root,请确保该用户拥有sudo权限,请使用su - username命令切换到非root用户执行如下命令。

表2 依赖列表

依赖名称

版本号

安装命令

python

3.7.5

Ubuntu、KylinV10SP1、openEuler和UOS操作系统请参见安装Python3.7.5(Ubuntu)

numpy

1.16.0+

pip3.7.5 install numpy==1.16.0 --user

protobuf

3.13.0+

pip3.7.5 install protobuf==3.13.0 --user

上传软件包

昇腾模型压缩工具的安装用户将Ascend-cann-amct_{software version}_{arch}.tar.gz软件包上传到Linux服务器任意目录下,本示例为上传到$HOME/amct/目录。

执行如下命令解压昇腾模型压缩工具软件包:

tar -zxvf Ascend-cann-amct-{software version}_{arch}.tar.gz

获得如下内容:

表3 昇腾模型压缩工具软件包解压后内容

一级目录

二级目录

说明

使用场景及注意事项

amct_caffe/

Caffe框架昇腾模型压缩工具目录。

  • 使用方法请参见“昇腾模型压缩工具使用指南(Caffe)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器的推理环境。

amct_caffe-{version}-py3-none-linux_{arch}.whl

Caffe框架昇腾模型压缩工具安装包。

caffe_patch.tar.gz

Caffe源代码增强包。

amct_tf/

TensorFlow框架昇腾模型压缩工具目录。

amct_tensorflow-{version}-py3-none-linux_{arch}.tar.gz

TensorFlow框架昇腾模型压缩工具安装包。

  • tar.gz包为支持TensorFlow 1.15和2.4版本的包,通过源码编译方式安装昇腾模型压缩工具,后续会取代whl包。
  • whl包为支持TensorFlow 1.15版本的包,后续将会废弃。
  • amct_tensorflow与amct_tensorflow_ascend软件包不能同时安装
  • 使用方法请参见“昇腾模型压缩工具使用指南(TensorFlow)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器的推理环境。

amct_tensorflow-{version}-py3-none-linux_{arch}.whl

amct_tensorflow_ascend-{version}-py3-none-linux_{arch}.tar.gz

基于TF_Adapter的昇腾模型压缩工具安装包。

  • tar.gz包为支持TensorFlow 1.15和2.4版本的包,通过源码编译方式安装昇腾模型压缩工具,后续会取代whl包。
  • whl包为支持TensorFlow 1.15版本的包,后续将会废弃。
  • Atlas 200/300/500 推理产品:该版本不支持amct_tensorflow_ascend目录下的相关特性。
  • amct_tensorflow与amct_tensorflow_ascend软件包不能同时安装。
  • 使用方法请参见“昇腾模型压缩工具使用指南(TensorFlow, Ascend)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器的推理环境。

amct_tensorflow_ascend-{version}-py3-none-linux_{arch}.whl

amct_pytorch/

PyTorch框架昇腾模型压缩工具目录。

  • 使用方法请参见“昇腾模型压缩工具使用指南(PyTorch)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器Atlas 200/300/500 推理产品推理环境。

amct_pytorch-{version}-py3-none-linux_{arch}.tar.gz

PyTorch框架昇腾模型压缩工具源码安装包。

amct_onnx/

ONNX模型昇腾模型压缩工具目录。

  • 使用方法请参见“昇腾模型压缩工具使用指南(ONNX)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器的推理环境。

amct_onnx-{version}-py3-none-linux_{arch}.whl

ONNX模型昇腾模型压缩工具安装包。

amct_onnx_op.tar.gz

昇腾模型压缩工具基于ONNX Runtime的自定义算子包。

amct_ms/

MindSpore框架昇腾模型压缩工具目录。

  • Atlas 200/300/500 推理产品:该版本不支持amct_ms目录下的相关特性。
  • 使用方法请参见“昇腾模型压缩工具使用指南(MindSpore)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器的推理环境。

amct_mindspore-{version}-py3-none-linux_{arch}.whl

MindSpore框架昇腾模型压缩工具安装包。

amct_acl/

基于AscendCL接口的昇腾模型压缩工具目录。

  • Atlas 200/300/500 推理产品:该版本不支持amct_acl目录下的相关特性。
  • 使用方法请参见“昇腾模型压缩工具使用指南(ACL方式)”章节。
  • 量化完的模型,如果要执行推理,则需要借助安装昇腾AI处理器的推理环境。

Ascend-amct_acl-{software version}-linux.{arch}.run

基于AscendCL接口的昇腾模型压缩工具安装包。

third_party/

Ascend-nca-{software version}-linux.{arch}.run

NCA(Neural Compute Agent)软件包。

基于性能的自动量化场景下使用。当前版本暂不支持该功能。

其中:{version}表示昇腾模型压缩工具具体版本号,{software version}为软件版本号。{arch}表示具体操作系统架构。