1 简介
地平线天工开物OpenExplorer工具链中同时提供了2套模型量化方案:
- PTQ:Post-training Quantization,训练后量化,指浮点模型训练完成后,基于一些校准数据,直接通过工具进行模型量化的过程,相比QAT,PTQ更简单一些。
- QAT:Quantization aware training,量化感知训练,指浮点模型训练完成后,在模型中插入伪量化节点再进行量化训练的过程,相比PTQ,QAT精度更有保障一些。
地平线为PTQ和QAT这两种量化方案都提供了本地手动安装和Docker容器两种方式,推荐大家优先选择简单易用的Docker,关于Docker的环境部署,欢迎参考用户手册Docker镜像环境部署。-
当然,为了方便一些不能使用地平线提供的Docker的用户,本文将介绍在不影响本地全局Python环境的情况下,进行地平线QAT环境安装。本文将以Linux系统为基础介绍QAT本地环境部署的流程,使用到的依赖均为Python3.8的依赖。。-
2 conda环境创建与使用
Conda 是一个运行在 Windows、macOS 和 Linux 上的开源包管理系统和环境管理系统。Conda 可以快速安装、运行和更新包及其依赖项, 可以轻松地在本地计算机上创建、保存、加载和切换环境。本文将基于conda创建python虚拟环境。在创建虚拟环境之前,请保证您的机器上已经成功安装了Anadonca。
2.1 创建python虚拟环境
#horizon_qat是新创建的虚拟环境的名字
#指定创建的虚拟环境版本为【python=3.8.10】,若未指定,默认为是装anaconda时python的版本
conda create --name horizon_qat python=3.8.10
2.2 conda虚拟环境激活与关闭
#查看本地的conda虚拟环境
conda env list
#激活指定虚拟环境
conda activate horizon_qat
#关闭虚拟环境
conda deactivte
3 安装QAT所需依赖
实现地平线QAT功能只需要手动安装4个whl包,分别是horizon_plugin_pytorch.whl、hbdk.whl、torch.whl、torchvision.whl,前2个是地平线开发的,这4个whl包大家都可以从地平线工具链开发包OpenExplorer中ddk/package/host/ai_toolchain目录下获取到。
本文以horizon_j5_open_explorer_v1.1.45-py38_20230323为例进行介绍,需要手动安装的4个whl包信息如下:
安装库名称
安装要求
horizon_plugin_pytorch-1.4.4+cu111.torch1102-cp38-cp38-linux_x86_64.whl
cuda11.1,torch1.10.2+cuda-11.1,python3.8
hbdk-3.43.4-cp38-cp38-linux_x86_64.whl
python3.8
torch-1.10.2+cu111-cp38-cp38-linux_x86_64.whl
cuda11.1,python3.8
torchvision-0.11.3+cu111-cp38-cp38-linux_x86_64.whl
cuda11.1,python3.8
注意Python版本要对应
顺序执行以下指令进行安装:
pip3 install torch-1.10.2+cu111-cp38-cp38-linux_x86_64.whl
pip3 install torchvision-0.11.3+cu111-cp38-cp38-linux_x86_64.whl
pip3 install hbdk-3.43.4-cp38-cp38-linux_x86_64.whl
pip3 install horizon_plugin_pytorch-1.4.4+cu111.torch1102-cp38-cp38-linux_x86_64.whl
安装完成后,可以在命令行输入以下命令,若打印如下信息,说明环境已安装完成:
#进入python命令行
python3
#导入horizon_plugin_pytorch并打印版本
import horizon_plugin_pytorch
print(horizon_plugin_pytorch.__version__)
#如果安装成功会打印以下信息:
#1.4.4+cu111.torch1102
QAT本地环境部署成功后就可以体验地平线的QAT工具了!相关使用教程可以参考用户手册的量化感知训练章节。