From 8925490bdb7187aae43d441341225e1f198a6fc8 Mon Sep 17 00:00:00 2001 From: whs Date: Wed, 16 Sep 2020 15:49:41 +0800 Subject: [PATCH] Add demo for SlimOCR (#433) --- .gitmodules | 3 + README.md | 7 ++- demo/ocr/PaddleOCR | 1 + demo/ocr/README.md | 145 +++++++++++++++++++++++++++++++++++++++++++++ 4 files changed, 153 insertions(+), 3 deletions(-) create mode 100644 .gitmodules create mode 160000 demo/ocr/PaddleOCR create mode 100644 demo/ocr/README.md diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 00000000..19261f54 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "demo/ocr/PaddleOCR"] + path = demo/ocr/PaddleOCR + url = https://github.com/PaddlePaddle/PaddleOCR diff --git a/README.md b/README.md index 5594916d..369f620d 100644 --- a/README.md +++ b/README.md @@ -232,9 +232,10 @@ pip install paddleslim==1.1.0 -i https://pypi.tuna.tsinghua.edu.cn/simple - [模型库](docs/zh_cn/model_zoo.md):各个压缩策略在图像分类、目标检测和图像语义分割模型上的实验结论,包括模型精度、预测速度和可供下载的预训练模型。 - [API文档](https://paddlepaddle.github.io/PaddleSlim/api_cn/index.html) - [算法原理](https://paddlepaddle.github.io/PaddleSlim/algo/algo.html): 介绍量化、剪枝、蒸馏、NAS的基本知识背景。 -- [Paddle检测库](https://github.com/PaddlePaddle/PaddleDetection/tree/master/slim):介绍如何在检测库中使用PaddleSlim。 -- [Paddle分割库](https://github.com/PaddlePaddle/PaddleSeg/tree/develop/slim):介绍如何在分割库中使用PaddleSlim。 -- [PaddleLite](https://paddlepaddle.github.io/Paddle-Lite/):介绍如何使用预测库PaddleLite部署PaddleSlim产出的模型。 + +- 飞桨套件压缩方案与小模型 + - [PaddleOCR压缩方案及小模型](demo/ocr/README.md) + - [PaddleDetection压缩方案及小模型](demo/det/README.md) ## 部分压缩策略效果 diff --git a/demo/ocr/PaddleOCR b/demo/ocr/PaddleOCR new file mode 160000 index 00000000..56c6c3ae --- /dev/null +++ b/demo/ocr/PaddleOCR @@ -0,0 +1 @@ +Subproject commit 56c6c3ae0e5c9ae6b9401a9446c629e513d4617f diff --git a/demo/ocr/README.md b/demo/ocr/README.md new file mode 100644 index 00000000..7b2603a3 --- /dev/null +++ b/demo/ocr/README.md @@ -0,0 +1,145 @@ +[English](README_en.md) | 简体中文 + +# SlimOCR模型库 + + +## 模型 + +PaddleSlim对[PaddleOCR]()发布的模型进行了压缩,产出了如下一系列小模型: + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
序号任务模型压缩策略[3][4]精度(自建中文数据集)耗时[1](ms)整体耗时[2](ms)加速比整体模型大小(M)压缩比例下载链接
0检测MobileNetV3_DB61.7224375-8.6-
识别MobileNetV3_CRNN62.09.52
1检测SlimTextDetPACT量化训练62.11953488%2.867.82%
识别SlimTextRecPACT量化训练61.488.6
2检测SlimTextDet_quat_pruning剪裁+PACT量化训练60.8614228830%2.867.82%
识别SlimTextRecPACT量化训练61.488.6
3检测SlimTextDet_pruning剪裁61.5713829527%2.966.28%
识别SlimTextRecPACT量化训练61.488.6
+ + +**注意**: + +- [1] 耗时评测环境为:骁龙855芯片+PaddleLite。 +- [2] 整体耗时不等于检测耗时加识别耗时的原因是:识别模型的耗时为单个检测框的耗时,一张图片可能会有多个检测框。 +- [3] 参考下面关于[OCR量化的说明](#OCR量化说明)。 +- [4] 参考下面关于[OCR剪裁的说明](#OCR剪裁说明)。 + + +## OCR量化说明 + +待补充 + +分别针对检测和识别模型说明以下内容: +1. PACT量化所选参数:包括量化算法参数、训练轮数、优化器选择、学习率等信息 +2. 跳过了哪些层 + + +更多量化教程请参考[OCR模型量化压缩教程]() + + +## OCR剪裁说明 + +待补充 + +针对检测模型说明以下内容: +1. 剪裁了哪些层,以及对应的比例 +2. 训练参数 + + +更多OCR剪裁教程请参考[OCR模剪裁压缩教程]() -- GitLab