Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
f03596d9
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看板
未验证
提交
f03596d9
编写于
1月 05, 2021
作者:
L
littletomatodonkey
提交者:
GitHub
1月 05, 2021
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add faq20210105 (#535)
* add faq20210105 * add faq * fix mainpage * fix desc * fix faq
上级
a138a6ee
变更
4
显示空白变更内容
内联
并排
Showing
4 changed file
with
53 addition
and
5 deletion
+53
-5
README_cn.md
README_cn.md
+1
-3
docs/zh_CN/faq_series.md
docs/zh_CN/faq_series.md
+2
-1
docs/zh_CN/faq_series/faq_2020_s1.md
docs/zh_CN/faq_series/faq_2020_s1.md
+1
-1
docs/zh_CN/faq_series/faq_2021_s1.md
docs/zh_CN/faq_series/faq_2021_s1.md
+49
-0
未找到文件。
README_cn.md
浏览文件 @
f03596d9
...
...
@@ -11,13 +11,11 @@
-
2020.12.16 添加对cpp预测的tensorRT支持,预测加速更明显。
-
2020.12.06 添加
`SE_HRNet_W64_C_ssld`
模型,在ImageNet-1k上Top-1 Acc可达84.75%。
-
2020.11.23 添加
`GhostNet_x1_3_ssld `
模型,在ImageNet-1k上Top-1 Acc可达79.38%。
-
2020.11.18 添加图像分类
[
常见问题2020第一季第三期
](
./docs/zh_CN/faq_series/faq_2020_s1.md
)
5个新问题,并且计划以后每周会更新,欢迎大家持续关注。
-
2020.11.09 添加
`InceptionV3 `
结构和模型,在ImageNet-1k上Top-1 Acc可达79.14%。
-
2020.10.20 添加
`Res2Net50_vd_26w_4s_ssld `
模型,在ImageNet-1k上Top-1 Acc可达83.1%;添加
`Res2Net101_vd_26w_4s_ssld `
模型,在ImageNet-1k上Top-1 Acc可达83.9%。
-
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%。
-
2020.09.07 添加
`HRNet_W18_C_ssld `
模型,在ImageNet-1k上Top-1 Acc可达81.16%;添加
`MobileNetV3_small_x0_35_ssld `
模型,在ImageNet-1k上Top-1 Acc可达55.55%。
-
[
more
](
./docs/zh_CN/update_history.md
)
...
...
@@ -90,7 +88,7 @@
-
[
10万类图像分类预训练模型
](
./docs/zh_CN/application/transfer_learning.md
)
-
[
通用目标检测
](
./docs/zh_CN/application/object_detection.md
)
-
FAQ
-
[
图像分类202
0第一季精选问题(近期更新2020.12.31)
](
./docs/zh_CN/faq_series/faq_2020
_s1.md
)
-
[
图像分类202
1第一季精选问题(近期更新2021.01.05)
](
./docs/zh_CN/faq_series/faq_2021
_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.md
浏览文件 @
f03596d9
...
...
@@ -7,4 +7,5 @@
## 目录
*
[
【精选】图像分类30个问题及PaddleClas常见使用问题
](
./faq.md
)
*
[
2020 FAQ第一季
](
./faq_series/faq_2020_s1.md
)(
最近更新2020.12.17
)
*
[
2020 FAQ第一季
](
./faq_series/faq_2020_s1.md
)(
最近更新2020.12.31
)
*
[
2021 FAQ第一季
](
./faq_series/faq_2021_s1.md
)(
最近更新2021.01.05
)
docs/zh_CN/faq_series/faq_2020_s1.md
浏览文件 @
f03596d9
...
...
@@ -294,7 +294,7 @@ Cosine_decay和piecewise_decay的学习率变化曲线如下图所示,容易
**A**
:一般来说,数据集的规模对性能影响至关重要,但是图片的标注往往比较昂贵,所以有标注的图片数量往往比较稀少,在这种情况下,数据的增广尤为重要。在训练ImageNet-1k的标准数据增广中,主要使用了Random_Crop与Random_Flip两种数据增广方式,然而,近些年,越来越多的数据增广方式被提出,如cutout、mixup、cutmix、AutoAugment等。实验表明,这些数据的增广方式可以有效提升模型的精度。具体到数据集来说:
-
ImageNet-1k:下表列出了ResNet50在8种不同的数据增广方式的表现,可以看出,相比baseline,所有的数据增广方式均有收益,其中cutmix是目前最有效的数据增广。更多数据增广的介绍请参考
[
**数据增广章节**
](
https://paddleclas.readthedocs.io/zh_CN/latest/advanced_tutorials/image_augmentation/ImageAugment.html
)
。
-
ImageNet-1k:下表列出了ResNet50在8种不同的数据增广方式的表现,可以看出,相比baseline,所有的数据增广方式均有收益,其中cutmix是目前最有效的数据增广。更多数据增广的介绍请参考
[
**数据增广章节**
](
../advanced_tutorials/image_augmentation/ImageAugment.md
)
。
| 模型 | 数据增广方式 | Test top-1 |
|:--:|:--:|:--:|
...
...
docs/zh_CN/faq_series/faq_2021_s1.md
0 → 100644
浏览文件 @
f03596d9
# 图像分类常见问题汇总 - 2021 第1季
## 目录
*
[
第1期
](
#第1期
)(
2021.01.05
)
<a
name=
"第1期"
></a>
## 第1期
### Q1.1: 在模型导出时,发现导出的inference model预测精度很低,这块是为什么呢?
**A**
:可以从以下几个方面排查
*
需要先排查下预训练模型路径是否正确。
*
模型导出时,默认的类别数为1000,如果预训练模型是自定义的类别数,则在导出的时候需要指定参数
`--class_num=k`
,k是自定义的类别数。
*
可以对比下
`tools/infer/infer.py`
和
`tools/infer/predict.py`
针对相同输入的输出class id与score,如果完全相同,则可能是预训练模型自身的精度很差。
### Q1.2: 训练样本的类别不均衡,这个该怎么处理呢?
**A**
:有以下几种比较常用的处理方法。
*
从采样的角度出发的话
*
可以对样本根据类别进行动态采样,每个类别都设置不同的采样概率,保证不同类别的图片在同一个minibatch或者同一个epoch内,不同类别的训练样本数量基本一致或者符合自己期望的比例。
*
可以使用过采样的方法,对图片数量较少的类别进行过采样。
*
从损失函数的角度出发的话
*
可以使用OHEM(online hard example miniing)的方法,对根据样本的loss进行筛选,筛选出hard example用于模型的梯度反传和参数更新。
*
可以使用Focal loss的方法,对一些比较容易的样本的loss赋予较小的权重,对于难样本的loss赋予较大的权重,从而让容易样本的loss对网络整体的loss有贡献,但是又不会主导loss。
### Q1.3 在docker中训练的时候,数据路径和配置均没问题,但是一直报错`SystemError: (Fatal) Blocking queue is killed because the data reader raises an exception`,这是为什么呢?
**A**
:这可能是因为docker中共享内存太小导致的。创建docker的时候,
`/dev/shm`
的默认大小为64M,如果使用多进程读取数据,共享内存可能不够,因此需要给
`/dev/shm`
分配更大的空间,在创建docker的时候,传入
`--shm-size=8g`
表示给
`/dev/shm`
分配8g的空间,一般是够用的。
### Q1.4 PaddleClas提供的10W类图像分类预训练模型在哪里下载,应该怎么使用呢?
**A**
:基于ResNet50_vd, 百度开源了自研的大规模分类预训练模型,其中训练数据为10万个类别,4300万张图片。10万类预训练模型的下载地址:
[
下载地址
](
https://paddle-imagenet-models-name.bj.bcebos.com/ResNet50_vd_10w_pretrained.tar
)
,在这里需要注意的是,该预训练模型没有提供最后的FC层参数,因此无法直接拿来预测;但是可以使用它作为预训练模型,在自己的数据集上进行微调。经过验证,该预训练模型相比于基于ImageNet1k数据集的ResNet50_vd预训练模型,在不同的数据集上均有比较明显的精度收益,最多可达30%,更多的对比实验可以参考:
[
图像分类迁移学习教程
](
../application/transfer_learning.md
)
。
### Q1.5 使用C++进行预测部署的时候怎么进行加速呢?
**A**
:可以从以下几个方面加速预测过程。
1.
如果是CPU预测的话,可以开启mkldnn进行预测,同时适当增大运算的线程数(cpu_math_library_num_threads,在
`tools/config.txt`
中),一般设置为6~10比较有效。
2.
如果是GPU预测的话,在硬件条件允许的情况下,可以开启TensorRT预测以及FP16预测,这可以进一步加快预测速度。
3.
在内存或者显存足够的情况下,可以增大预测的batch size。
4.
可以将图像预处理的逻辑(主要设计resize、crop、normalize等)放在GPU上运行,这可以进一步加速预测过程。
更多的预测部署加速技巧,也欢迎大家补充。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录