未验证 提交 fde5f523 编写于 作者: W Wei Shengyu 提交者: GitHub

添加第6期FAQ (#530)

* add 1230 FAQ

* modify according to comments

* change FAQ update date in readme
上级 aa8e3c11
......@@ -90,7 +90,7 @@
- [10万类图像分类预训练模型](./docs/zh_CN/application/transfer_learning.md)
- [通用目标检测](./docs/zh_CN/application/object_detection.md)
- FAQ
- [图像分类2020第一季精选问题(近期更新2020.12.17)](./docs/zh_CN/faq_series/faq_2020_s1.md)
- [图像分类2020第一季精选问题(近期更新2020.12.31)](./docs/zh_CN/faq_series/faq_2020_s1.md)
- [图像分类通用30个问题](./docs/zh_CN/faq.md)
- [PaddleClas实战15个问题](./docs/zh_CN/faq.md)
- [赛事支持](./docs/zh_CN/competition_support.md)
......
......@@ -7,6 +7,7 @@
* [第3期](#第3期)(2020.11.18)
* [第4期](#第4期)(2020.12.07)
* [第5期](#第5期)(2020.12.17)
* [第6期](#第6期)(2020.12.30)
<a name="第1期"></a>
## 第1期
......@@ -332,3 +333,39 @@ Cosine_decay和piecewise_decay的学习率变化曲线如下图所示,容易
- 挖掘相关数据:用在现有数据集上训练饱和的模型去对相关的数据做预测,将置信度较高的数据打label后加入训练集进一步训练,如此循环操作,可进一步提升模型的精度。
- 知识蒸馏:可以先使用一个较大的模型在该数据集上训练一个精度较高的teacher model,然后使用该teacher model去教导一个Student model,其中,Student model即为目标模型。PaddleClas提供了百度自研的SSLD知识蒸馏方案,即使在ImageNet-1k这么有挑战的分类任务上,其也能稳定提升3%以上。SSLD知识蒸馏的的章节请参考[**SSLD知识蒸馏**](https://paddleclas.readthedocs.io/zh_CN/latest/advanced_tutorials/distillation/distillation.html)
<a name="第6期"></a>
## 第6期
### Q6.1: PaddleClas的几个分支有什么区别?应该如何选择?
**A**: PaddleClas目前共有3种分支:
动态图分支:dygraph分支是PaddleClas的默认分支,也是更新最快的分支。所有的新功能、新改动都会先在dygraph分支上进行。如果想追踪PaddleClas的最新进展,可以关注这个分支。这个分支主要支持动态图,会跟着paddlepaddle的版本一起更新。
稳定版本分支:快速更新能够让关注者了解最新进展,但也会带来不稳定性。因此在一些关键的时间点,我们会从dygraph分支中拉出分支,提供稳定的版本。这些分支的名字与paddlepaddle的版本对应,如 2.0-beta 为支持paddlepaddle2.0-beta的稳定版本。这些分支一般只会修复bug,而不更新新的特性和模型。
静态图分支:master分支是使用静态图版本的分支,主要用来支持一些老用户的使用,也只进行一些简单维护,不会更新新的特性和模型。不建议新用户使用静态图分支。老用户如果有条件,也建议迁到动态图分支或稳定版本分支。
总的来说,如果想跟进PaddleClas的最新进展,建议选择dygraph分支,如果需要稳定版本,建议选择最新的稳定版本分支。
### Q6.2: 什么是静态图模式?
**A**: 静态图模式即为声明式编程模式。许多深度学习框架如tensorflow,mxnet等最初都使用这种模式。在静态图模式中,需要先定义好模型结构,之后框架会根据模型结构进行编译和优化,构建"计算图"。可以简单的理解为,静态图模式是"计算图"静态不变的模式。静态图的优势在于编译器一般只需要构建一次计算图,效率相对较高,缺点在于不够灵活,调试麻烦。例如在paddle中运行一次静态图模型,需要完整所有的运算,之后根据特定的key来提取输出,无法实时得到结果。
### Q6.3: 什么是动态图模式?
**A**: 动态图模式即为命令式编程模式,用户无需预先定义网络结构,每行代码都可以直接运行得到结果。相比静态图模式,动态图模式对用户更加友好,调试也更方便。此外,动态图模式的结构设计也更加灵活,可以在运行过程中随时调整结构。
PaddleClas目前持续更新的dygraph分支,主要采用动态图模式。如果您是新用户,建议使用动态图模式来进行开发和训练。如果推理预测时有性能需求,可以在训练完成后,将动态图模型转为静态图模型提高效率。
### Q6.4: 动态图模型的预测效率有时不如静态图,应该怎么办?
**A**: 可以使用转换工具,将动态图模型转换为静态图模型,具体可以参考https://www.paddlepaddle.org.cn/documentation/docs/zh/2.0-rc1/guides/04_dygraph_to_static/index_cn.html。
### Q6.5: 构建分类数据集时,如何构建"背景"类别的数据?
**A**: 实际使用中,常常需要自己构建一个分类数据集来进行训练。除了所需要的类别数据之外,还需要一个额外的类别,即"背景"类别。例如做一个猫狗分类,猫为一类,狗为一类,如果我们的分类器只有两类,那么输入一张兔子的图片,也会被强制的分到这两个类别中的一个。因此在训练时,应添加一些非目标类别的数据,作为"背景"类别的数据。
构建"背景"类别的数据时,首先应从实际需求的角度出发。还是以猫狗分类器为例,如果实际测试的数据都是动物,那么"背景"类别的数据就应该包含一些除猫狗之外的动物。而如果测试的数据还包含更多类别,例如一棵树,那么"背景"类别的数据就要设置的更加丰富。
简单来说,"背景"类别的数据,要根据实际场景中可能出现的情况去收集。情况越多,需要涵盖的数据种类就越多,任务也会相应的越困难。因此实际处理中,最好能对问题进行限制,避免浪费资源和算力。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册