Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
baf8431a
P
PaddleClas
项目概览
PaddlePaddle
/
PaddleClas
大约 1 年 前同步成功
通知
115
Star
4999
Fork
1114
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
19
列表
看板
标记
里程碑
合并请求
6
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
P
PaddleClas
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
19
Issue
19
列表
看板
标记
里程碑
合并请求
6
合并请求
6
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
未验证
提交
baf8431a
编写于
11月 19, 2020
作者:
L
littletomatodonkey
提交者:
GitHub
11月 19, 2020
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add faq20201119 (#409)
* add faq20201119
上级
e7ade6cd
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
43 addition
and
3 deletion
+43
-3
README_cn.md
README_cn.md
+2
-3
docs/zh_CN/faq_series/faq_2020_s1.md
docs/zh_CN/faq_series/faq_2020_s1.md
+41
-0
未找到文件。
README_cn.md
浏览文件 @
baf8431a
...
...
@@ -7,9 +7,8 @@
飞桨图像分类套件PaddleClas是飞桨为工业界和学术界所准备的一个图像分类任务的工具集,助力使用者训练出更好的视觉模型和应用落地。
**近期更新**
-
2020.11.1
1 添加图像分类
[
常见问题2020第一季第二
期
](
./docs/zh_CN/faq_series/faq_2020_s1.md
)
5个新问题,并且计划以后每周会更新,欢迎大家持续关注。
-
2020.11.1
8 添加图像分类
[
常见问题2020第一季第三
期
](
./docs/zh_CN/faq_series/faq_2020_s1.md
)
5个新问题,并且计划以后每周会更新,欢迎大家持续关注。
-
2020.11.09 添加
`InceptionV3 `
结构和模型,在ImageNet-1k上Top-1 Acc可达79.14%。
-
2020.11.04 添加图像分类
[
常见问题2020第一季第一期
](
./docs/zh_CN/faq_series/faq_2020_s1.md
)
7个新问题,并且计划以后每周会更新,欢迎大家持续关注。
-
2020.10.12 添加Paddle-Lite demo。
-
2020.10.10 添加cpp inference demo,完善
`FAQ 30问`
教程。
-
2020.09.17 添加
`HRNet_W48_C_ssld `
模型,在ImageNet-1k上Top-1 Acc可达83.62%;添加
`ResNet34_vd_ssld `
模型,在ImageNet-1k上Top-1 Acc可达79.72%。
...
...
@@ -88,7 +87,7 @@
-
[
10万类图像分类预训练模型
](
./docs/zh_CN/application/transfer_learning.md
)
-
[
通用目标检测
](
./docs/zh_CN/application/object_detection.md
)
-
FAQ
-
[
图像分类2020第一季精选问题(近期更新2020.11.
04
)
](
./docs/zh_CN/faq_series/faq_2020_s1.md
)
-
[
图像分类2020第一季精选问题(近期更新2020.11.
18
)
](
./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
)
...
...
docs/zh_CN/faq_series/faq_2020_s1.md
浏览文件 @
baf8431a
...
...
@@ -4,6 +4,7 @@
## 目录
*
[
第1期
](
#第1期
)(
2020.11.03
)
*
[
第2期
](
#第2期
)(
2020.11.11
)
*
[
第3期
](
#第3期
)(
2020.11.18
)
<a
name=
"第1期"
></a>
## 第1期
...
...
@@ -100,3 +101,43 @@ ResNet系列模型中,相比于其他模型,ResNet_vd模型在预测速度
**A**
: PaddleClas中提供了很多ssld预训练模型,其通过半监督知识蒸馏的方法获得了更好的预训练权重,在迁移任务或者下游视觉任务中,无须替换结构文件、只需要替换精度更高的ssld预训练模型即可提升精度,如在PaddleSeg中,
[
HRNet
](
https://github.com/PaddlePaddle/PaddleSeg/blob/release/v0.7.0/docs/model_zoo.md
)
使用了ssld预训练模型的权重后,精度大幅度超越业界同样的模型的精度,在PaddleDetection中,
[
PP-YOLO
](
https://github.com/PaddlePaddle/PaddleDetection/blob/release/0.4/configs/ppyolo/README_cn.md
)
使用了ssld预训练权重后,在较高的baseline上仍有进一步的提升。使用ssld预训练权重做分类的迁移表现也很抢眼,在
[
SSLD蒸馏策略
](
https://github.com/PaddlePaddle/PaddleClas/blob/master/docs/zh_CN/advanced_tutorials/distillation/distillation.md
)
部分介绍了知识蒸馏对于分类任务迁移的收益。
<a
name=
"第3期"
></a>
## 第3期
### Q3.1: DenseNet模型相比于ResNet有什么改进呢?有哪些特点或者应用场景呢?
**A**
: DenseNet相比于ResNet,设计了一个更激进的密集连接机制,通过考虑特征重用和旁路的设置,进一步减少了参数量,而且从一定程度上缓解了梯度弥散的问题,因为引入了更加密集的连接,因此模型更容易训练,而且具有一定的正则化效果。在数据量不是很多的图像分类场景中,DenseNet是一个不错的选择。更多关于DenseNet的介绍与系列模型可以参考
[
DenseNet模型文档
](
../models/DPN_DenseNet.md
)
。
### Q3.2: DPN网络相比于DenseNet有哪些改进呢?
**A**
:DPN的全称是Dual Path Networks,即双通道网络。该网络是由DenseNet和ResNeXt结合的一个网络,其证明了DenseNet能从靠前的层级中提取到新的特征,而ResNeXt本质上是对之前层级中已提取特征的复用。作者进一步分析发现,ResNeXt对特征有高复用率,但冗余度低,DenseNet能创造新特征,但冗余度高。结合二者结构的优势,作者设计了DPN网络。最终DPN网络在同样FLOPS和参数量下,取得了比ResNeXt与DenseNet更好的结果。更多关于DPN的介绍与系列模型可以参考
[
DPN模型文档
](
../models/DPN_DenseNet.md
)
。
### Q3.3: 怎么使用多个模型进行预测融合呢?
**A**
使用多个模型进行预测的时候,建议首先将预训练模型导出为inference模型,这样可以摆脱对网络结构定义的依赖,可以参考
[
模型导出脚本
](
../../../tools/export_model.py
)
进行模型导出,之后再参考
[
inference模型预测脚本
](
../../../tools/infer/predict.py
)
进行预测即可,在这里需要根据自己使用模型的数量创建多个predictor。
### Q3.4: PaddleClas中怎么增加自己的数据增广方法呢?
**A**
:
*
对于单张图像的增广,可以参考
[
基于单张图片的数据增广脚本
](
../../../ppcls/data/imaug/operators.py
)
,参考
`ResizeImage`
或者
`CropImage`
等数据算子的写法,创建一个新的类,然后在
`__call__`
中,实现对应的增广方法即可。
*
对于一个batch图像的增广,可以参考
[
基于batch数据的数据增广脚本
](
../../../ppcls/data/imaug/batch_operators.py
)
,参考
`MixupOperator`
或者
`CutmixOperator`
等数据算子的写法,创建一个新的类,然后在
`__call__`
中,实现对应的增广方法即可。
## Q3.5: 怎么进一步加速模型训练过程呢?
**A**
:
*
可以使用自动混合精度进行训练,这在精度几乎无损的情况下,可以有比较明显的速度收益,以ResNet50为例,PaddleClas中使用自动混合精度训练的配置文件可以参考:
[
ResNet50_fp16.yml
](
../../../configs/ResNet/ResNet50_fp16.yml
)
,主要就是需要在标准的配置文件中添加以下几行
```
use_fp16: True
amp_scale_loss: 128.0
use_dynamic_loss_scaling: True
```
*
可以开启dali,将数据预处理方法放在GPU上运行,在模型比较小时(reader耗时占比更高一些),开启dali会带来比较明显的精度收益,在训练的时候,添加
`-o use_dali=True`
即可使用dali进行训练,更多关于dali 安装与介绍可以参考:
[
dali安装教程
](
https://docs.nvidia.com/deeplearning/dali/user-guide/docs/installation.html#nightly-builds
)
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录