From 4635cf982958141f8d34c1756e62e9bdfc27497e Mon Sep 17 00:00:00 2001
From: cuicheng01 <45199522+cuicheng01@users.noreply.github.com>
Date: Tue, 6 Apr 2021 15:19:14 +0800
Subject: [PATCH] Update FAQ.md
---
doc/doc_ch/FAQ.md | 50 ++++++++++++++++++++++++++++++++---------------
1 file changed, 34 insertions(+), 16 deletions(-)
diff --git a/doc/doc_ch/FAQ.md b/doc/doc_ch/FAQ.md
index e698d204..ff26a275 100755
--- a/doc/doc_ch/FAQ.md
+++ b/doc/doc_ch/FAQ.md
@@ -9,34 +9,34 @@
## PaddleOCR常见问题汇总(持续更新)
-* [近期更新(2021.3.22)](#近期更新)
+* [近期更新(2021.4.6)](#近期更新)
* [【精选】OCR精选10个问题](#OCR精选10个问题)
* [【理论篇】OCR通用40个问题](#OCR通用问题)
* [基础知识13题](#基础知识)
* [数据集8题](#数据集2)
- * [模型训练调优19题](#模型训练调优2)
+ * [模型训练调优20题](#模型训练调优2)
* [【实战篇】PaddleOCR实战143个问题](#PaddleOCR实战问题)
- * [使用咨询54题](#使用咨询)
+ * [使用咨询56题](#使用咨询)
* [数据集18题](#数据集3)
- * [模型训练调优32题](#模型训练调优3)
- * [预测部署39题](#预测部署3)
+ * [模型训练调优33题](#模型训练调优3)
+ * [预测部署40题](#预测部署3)
-## 近期更新(2021.3.22)
-#### Q2.1.13: PaddleOCR提供的文本识别算法包括哪些?
-**A**: PaddleOCR主要提供五种文本识别算法,包括CRNN\StarNet\RARAE\Rosetta和SRN, 其中CRNN\StarNet和Rosetta是基于ctc的文字识别算法,RARE是基于attention的文字识别算法;SRN为百度自研的文本识别算法,引入了语义信息,显著提升了准确率。 详情可参照如下页面:[文本识别算法](https://github.com/PaddlePaddle/PaddleOCR/blob/release/2.0/doc/doc_ch/algorithm_overview.md#%E6%96%87%E6%9C%AC%E8%AF%86%E5%88%AB%E7%AE%97%E6%B3%95)
+## 近期更新(2021.4.6)
+#### Q3.4.40: 使用hub_serving部署,延时较高,可能的原因是什么呀?
+**A**: 首先,测试的时候第一张图延时较高,可以多测试几张然后观察后几张图的速度;其次,如果是在cpu端部署serving端模型(如backbone为ResNet34),耗时较慢,建议在cpu端部署mobile(如backbone为MobileNetV3)模型。
-#### Q2.2.8: DBNet如果想使用多边形作为输入,数据标签格式应该如何设定?
-**A**:如果想使用多边形作为DBNet的输入,数据标签也应该用多边形来表示。这样子可以更好得拟合弯曲文本。PPOCRLabel暂时只支持矩形框标注和四边形框标注。
+#### Q2.3.20: 如何根据不同的硬件平台选用不同的backbone?
+**A**:在不同的硬件上,不同的backbone的速度优势不同,可以根据不同平台的速度-精度图来确定backbone,这里可以参考https://github.com/PaddlePaddle/PaddleClas/tree/release/2.0/docs/zh_CN/models
-#### Q2.3.19: 参照文档做实际项目时,是重新训练还是在官方训练的基础上进行训练?具体如何操作?
-**A**: 基于官方提供的模型,进行finetune的话,收敛会更快一些。 具体操作上,以识别模型训练为例:如果修改了字符文件,可以设置pretraind_model为官方提供的预训练模型
+#### Q3.1.55: 目前PaddleOCR有知识蒸馏的demo吗?
+**A**: 目前我们还没有提供PaddleOCR知识蒸馏的相关demo,PaddleClas开源了一个效果还不错的方案,可以移步https://github.com/PaddlePaddle/PaddleClas/blob/release%2F2.0/docs/zh_CN/advanced_tutorials/distillation/distillation.md, paper: https://arxiv.org/abs/2103.05959。 关于PaddleOCR的蒸馏,我们也会在未来支持。
-#### Q3.1.53: 预测时提示图像过大,显存、内存溢出了,应该如何处理?
-**A**: 可以按照这个PR的修改来缓解显存、内存占用 [#2230](https://github.com/PaddlePaddle/PaddleOCR/pull/2230)
+#### Q3.3.33: 训练识别和检测时学习率要加上warmup,目的是什么?
+**A**: Warmup机制先使学习率从一个较小的值逐步升到一个较大的值,而不是直接就使用较大的学习率,这样有助于模型的稳定收敛。在OCR检测和OCR识别中,一般会带来精度~0.5%的提升。
-#### Q3.1.54: 用c++来部署,目前支持Paddle2.0的模型吗?
-**A**: PPOCR 2.0的模型在arm上运行可以参照该PR [#1877](https://github.com/PaddlePaddle/PaddleOCR/pull/1877)
+#### Q3.1.56: 在使用PPOCRLabel的时候,如何标注倾斜的文字?
+**A**: 如果矩形框标注后空白冗余较多,可以尝试PPOCRLabel提供的四点标注,可以标注各种倾斜角度的文本。
## 【精选】OCR精选10个问题
@@ -310,6 +310,9 @@
#### Q2.3.19: 参照文档做实际项目时,是重新训练还是在官方训练的基础上进行训练?具体如何操作?
**A**: 基于官方提供的模型,进行finetune的话,收敛会更快一些。 具体操作上,以识别模型训练为例:如果修改了字符文件,可以设置pretraind_model为官方提供的预训练模型
+#### Q2.3.20: 如何根据不同的硬件平台选用不同的backbone?
+**A**:在不同的硬件上,不同的backbone的速度优势不同,可以根据不同平台的速度-精度图来确定backbone,这里可以参考https://github.com/PaddlePaddle/PaddleClas/tree/release/2.0/docs/zh_CN/models
+
## 【实战篇】PaddleOCR实战问题
@@ -595,6 +598,13 @@ repo中config.yml文件的前后处理参数和inference预测默认的超参数
#### Q3.1.54: 用c++来部署,目前支持Paddle2.0的模型吗?
**A**: PPOCR 2.0的模型在arm上运行可以参照该PR [#1877](https://github.com/PaddlePaddle/PaddleOCR/pull/1877)
+#### Q3.1.55: 目前PaddleOCR有知识蒸馏的demo吗?
+**A**: 目前我们还没有提供PaddleOCR知识蒸馏的相关demo,PaddleClas开源了一个效果还不错的方案,可以移步https://github.com/PaddlePaddle/PaddleClas/blob/release%2F2.0/docs/zh_CN/advanced_tutorials/distillation/distillation.md, paper: https://arxiv.org/abs/2103.05959。 关于PaddleOCR的蒸馏,我们也会在未来支持。
+
+#### Q3.1.56: 在使用PPOCRLabel的时候,如何标注倾斜的文字?
+**A**: 如果矩形框标注后空白冗余较多,可以尝试PPOCRLabel提供的四点标注,可以标注各种倾斜角度的文本。
+
+
### 数据集
@@ -861,8 +871,12 @@ lr:
warmup_epoch: 2
```
+#### Q3.3.33: 训练识别和检测时学习率要加上warmup,目的是什么?
+**A**: Warmup机制先使学习率从一个较小的值逐步升到一个较大的值,而不是直接就使用较大的学习率,这样有助于模型的稳定收敛。在OCR检测和OCR识别中,一般会带来精度~0.5%的提升。
+
+
### 预测部署
#### Q3.4.1:如何pip安装opt模型转换工具?
@@ -1053,3 +1067,7 @@ nvidia-smi --lock-gpu-clocks=1590 -i 0
#### Q3.4.39:内网环境如何进行服务化部署呢?
**A**:仍然可以使用PaddleServing或者HubServing进行服务化部署,保证内网地址可以访问即可。
+
+#### Q3.4.40: 使用hub_serving部署,延时较高,可能的原因是什么呀?
+
+**A**: 首先,测试的时候第一张图延时较高,可以多测试几张然后观察后几张图的速度;其次,如果是在cpu端部署serving端模型(如backbone为ResNet34),耗时较慢,建议在cpu端部署mobile(如backbone为MobileNetV3)模型。
--
GitLab