地平线QAT环境本地安装

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工具了!相关使用教程可以参考用户手册的量化感知训练章节。