> 运行示例前请先安装1.2.0或更高版本PaddleSlim # 模型量化压缩教程 压缩结果:
序号 任务 模型 压缩策略 精度(自建中文数据集) 耗时(ms) 整体耗时(ms) 加速比 整体模型大小(M) 压缩比例 下载链接
0 检测 MobileNetV3_DB 61.7 224 375 - 8.6 -
识别 MobileNetV3_CRNN 62.0 9.52
1 检测 SlimTextDet PACT量化训练 62.1 195 348 8% 2.8 67.82%
识别 SlimTextRec PACT量化训练 61.48 8.6
2 检测 SlimTextDet_quat_pruning 剪裁+PACT量化训练 60.86 142 288 30% 2.8 67.82%
识别 SlimTextRec PACT量化训练 61.48 8.6
3 检测 SlimTextDet_pruning 剪裁 61.57 138 295 27% 2.9 66.28%
识别 SlimTextRec PACT量化训练 61.48 8.6
## 概述 复杂的模型有利于提高模型的性能,但也导致模型中存在一定冗余,模型量化将全精度缩减到定点数减少这种冗余,达到减少模型计算复杂度,提高模型推理性能的目的。 该示例使用PaddleSlim提供的[量化压缩API](https://paddlepaddle.github.io/PaddleSlim/api/quantization_api/)对OCR模型进行压缩。 在阅读该示例前,建议您先了解以下内容: - [OCR模型的常规训练方法](https://github.com/PaddlePaddle/PaddleOCR/blob/develop/doc/doc_ch/detection.md) - [PaddleSlim使用文档](https://paddleslim.readthedocs.io/zh_CN/latest/index.html) ## 安装PaddleSlim ```bash git clone https://github.com/PaddlePaddle/PaddleSlim.git cd Paddleslim python setup.py install ``` ## 获取预训练模型 [识别预训练模型下载地址]() [检测预训练模型下载地址]() ## 量化训练 加载预训练模型后,在定义好量化策略后即可对模型进行量化。量化相关功能的使用具体细节见:[模型量化](https://paddleslim.readthedocs.io/zh_CN/latest/api_cn/quantization_api.html) 进入PaddleOCR根目录,通过以下命令对模型进行量化: ```bash python deploy/slim/quantization/quant.py -c configs/det/det_mv3_db.yml -o Global.pretrain_weights=det_mv3_db/best_accuracy Global.save_model_dir=./output/quant_model ``` ## 导出模型 在得到量化训练保存的模型后,我们可以将其导出为inference_model,用于预测部署: ```bash python deploy/slim/quantization/export_model.py -c configs/det/det_mv3_db.yml -o Global.checkpoints=output/quant_model/best_accuracy Global.save_model_dir=./output/quant_inference_model ```