Skip to content

Files

Latest commit

 

History

History
 
 

qat

Folders and files

NameName
Last commit message
Last commit date

parent directory

..
 
 
 
 
 
 
 
 
  1. 准备

安装需要测试的Paddle版本和PaddleSlim版本。

准备ImageNet数据集,假定解压到/dataset/ILSVRC2012文件夹,该文件夹下有train文件夹、val文件夹、train_list.txt和val_list.txt文件

  1. 产出量化模型

run_train.sh文件中设置data_path为上述ImageNet数据集的路径/dataset/ILSVRC2012

根据实际情况,在run_train.sh文件中设置使用GPU的id等参数。

执行sh run_train.sh 会对几个分类模型使用动态图量化训练功能进行量化,其中只执行一个epoch。 执行完后,在output_models/quant_dygraph目录下有产出的量化模型。

  1. 转换量化模型

在Intel CPU上部署量化模型,需要使用test/save_quant_model.py脚本进行模型转换。

如下是对mobilenet_v1模型进行转换的示例。

python src/save_quant_model.py --load_model_path output_models/quant_dygraph/mobilenet_v1 --save_model_path int8_models/mobilenet_v1
  1. 测试量化模型

run_test.sh脚本中设置data_path为上述ImageNet数据集的路径/dataset/ILSVRC2012

根据实际情况,在run_test.sh文件中设置使用GPU的id等参数。

使用run_test.sh脚本测试转换前和转换后的量化模型精度。

比如:

sh run_test.sh output_models/quant_dygraph/mobilenet_v1
sh run_test.sh int8_models/mobilenet_v1
  1. 测试目标

使用动态图量化训练功能,产出mobilenet_v1,mobilenet_v2,resnet50,vgg16量化模型,测试转换前后量化模型精度在1%误差范围内。