3.8 KiB
Executable File
3.8 KiB
Executable File
运行示例前请先安装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对OCR模型进行压缩。 在阅读该示例前,建议您先了解以下内容:
安装PaddleSlim
git clone https://github.com/PaddlePaddle/PaddleSlim.git
cd Paddleslim
python setup.py install
获取预训练模型
识别预训练模型下载地址
检测预训练模型下载地址
量化训练
加载预训练模型后,在定义好量化策略后即可对模型进行量化。量化相关功能的使用具体细节见:模型量化
进入PaddleOCR根目录,通过以下命令对模型进行量化:
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,用于预测部署:
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