Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
PaddlePaddle
PaddleClas
提交
026ddb45
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看板
提交
026ddb45
编写于
4月 21, 2020
作者:
littletomatodonkey
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
update doc
上级
75a3c654
变更
7
显示空白变更内容
内联
并排
Showing
7 changed file
with
111 addition
and
144 deletion
+111
-144
docs/zh_CN/advanced_tutorials/distillation/distillation.md
docs/zh_CN/advanced_tutorials/distillation/distillation.md
+14
-14
docs/zh_CN/advanced_tutorials/image_augmentation/ImageAugment.md
..._CN/advanced_tutorials/image_augmentation/ImageAugment.md
+61
-61
docs/zh_CN/models/Tricks.md
docs/zh_CN/models/Tricks.md
+6
-2
docs/zh_CN/models/models_intro.md
docs/zh_CN/models/models_intro.md
+1
-1
docs/zh_CN/tutorials/getting_started.md
docs/zh_CN/tutorials/getting_started.md
+14
-46
docs/zh_CN/tutorials/install.md
docs/zh_CN/tutorials/install.md
+4
-16
docs/zh_CN/tutorials/quick_start.md
docs/zh_CN/tutorials/quick_start.md
+11
-4
未找到文件。
docs/zh_CN/advanced_tutorials/distillation/distillation.md
浏览文件 @
026ddb45
...
...
@@ -185,7 +185,7 @@ for var in ./*_student; do cp "$var" "../student_model/${var%_student}"; done #
# 五、SSLD实战
本节将基于ImageNet-1K的数据集详细介绍SSLD蒸馏实验,如果想快速体验此方法,可以参考
[
**30
min
玩转PaddleClas**
](
../../tutorials/quick_start.md
)
中基于Flowers102的SSLD蒸馏实验。
本节将基于ImageNet-1K的数据集详细介绍SSLD蒸馏实验,如果想快速体验此方法,可以参考
[
**30
分钟
玩转PaddleClas**
](
../../tutorials/quick_start.md
)
中基于Flowers102的SSLD蒸馏实验。
## 7.1 参数配置
...
...
@@ -254,7 +254,7 @@ sh tools/run.sh
*
若用户准备添加无标签的训练数据,只需要将新的训练数据放置在原本训练数据的路径下,生成新的数据list即可,另外,新生成的数据list需要将无标签的数据添加伪标签(只是为了统一读数据)。
**此处插播一条硬广~**
> 如果您觉得此文档对您有帮助,欢迎star
、watch、fork,三连
我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
> 如果您觉得此文档对您有帮助,欢迎star我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
# 参考文献
...
...
docs/zh_CN/advanced_tutorials/image_augmentation/ImageAugment.md
浏览文件 @
026ddb45
...
...
@@ -438,7 +438,7 @@ new_batch = cutmix_op(batch)
# 七、数据增广分类实战
本节将基于ImageNet-1K的数据集详细介绍数据增广实验,如果想快速体验此方法,可以参考
[
**30
min
玩转PaddleClas**
](
../../tutorials/quick_start.md
)
中基于Flowers102的数据增广实验。
本节将基于ImageNet-1K的数据集详细介绍数据增广实验,如果想快速体验此方法,可以参考
[
**30
分钟
玩转PaddleClas**
](
../../tutorials/quick_start.md
)
中基于Flowers102的数据增广实验。
## 7.1 参数配置
...
...
@@ -552,7 +552,7 @@ sh tools/run.sh
*
几乎每一类图像增广均含有超参数,我们只提供了基于ImageNet-1k的超参数,其他数据集需要用户自己调试超参数,具体超参数的含义用户可以阅读相关的论文,调试方法也可以参考训练技巧的章节。
**此处插播一条硬广~**
> 如果您觉得此文档对您有帮助,欢迎star
、watch、fork,三连
我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
> 如果您觉得此文档对您有帮助,欢迎star我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
# 参考文献
...
...
docs/zh_CN/models/Tricks.md
浏览文件 @
026ddb45
...
...
@@ -85,6 +85,10 @@ Label_smoothing是深度学习中的一种正则化方法,其全称是 Label S
## 9.如何通过已有的预训练模型提升自己的数据集的精度
在现阶段计算机视觉领域中,加载预训练模型来训练自己的任务已成为普遍的做法,相比从随机初始化开始训练,加载预训练模型往往可以提升特定任务的精度。一般来说,业界广泛使用的预训练模型是通过训练128万张图片1000类的ImageNet-1k数据集得到的,该预训练模型的fc层权重是是一个k
\*
1000的矩阵,其中k是fc层以前的神经元数,在加载预训练权重时,无需加载fc层的权重。在学习率方面,如果您的任务训练的数据集特别小(如小于1千张),我们建议你使用较小的初始学习率,如0.001(batch_size:256,下同),以免较大的学习率破坏预训练权重。如果您的训练数据集规模相对较大(大于10万),我们建议你尝试更大的初始学习率,如0.01或者更大。
**此处插播一条硬广~**
> 如果您觉得此文档对您有帮助,欢迎star我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
## 参考文献
[1]P. Goyal, P. Dolla ́r, R. B. Girshick, P. Noordhuis, L. Wesolowski, A. Kyrola, A. Tulloch, Y. Jia, and K. He. Accurate, large minibatch SGD: training imagenet in 1 hour. CoRR, abs/1706.02677, 2017.
...
...
docs/zh_CN/models/models_intro.md
浏览文件 @
026ddb45
...
...
@@ -28,7 +28,7 @@ python tools/infer/predict.py \
**此处插播一条硬广~**
> 如果您觉得此文档对您有帮助,欢迎star
、watch、fork,三连
我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
> 如果您觉得此文档对您有帮助,欢迎star我们的项目:[https://github.com/PaddlePaddle/PaddleClas](https://github.com/PaddlePaddle/PaddleClas)
## 预训练模型列表及下载地址
...
...
docs/zh_CN/tutorials/getting_started.md
浏览文件 @
026ddb45
# 开始使用
---
请事先参考
[
安装指南
](
install.md
)
配置运行环境
有关模型库的基本信息请参考
[
README
](
https://github.com/PaddlePaddle/PaddleClas/blob/master/README.md
)
。
请事先参考
[
安装指南
](
install.md
)
配置运行环境,并根据
[
数据说明
](
./data.md
)
文档准备ImageNet1k数据,本章节下面所有的实验均以ImageNet1k数据集为例。
## 一、设置环境变量
...
...
@@ -13,10 +12,11 @@ export PYTHONPATH=path_to_PaddleClas:$PYTHONPATH
## 二、模型训练与评估
PaddleClas 提供模型训练与评估脚本:
tools/train.py和tools/eval.py
PaddleClas 提供模型训练与评估脚本:
`tools/train.py`
和
`tools/eval.py`
### 2.1 模型训练
以flower102数据为例按如下方式启动模型训练,flower数据集准备请参考
[
数据集准备
](
./data.md
)
。
按照如下方式启动模型训练。
```
bash
# PaddleClas通过launch方式启动多卡多进程训练
...
...
@@ -24,9 +24,8 @@ PaddleClas 提供模型训练与评估脚本:tools/train.py和tools/eval.py
python
-m
paddle.distributed.launch
\
--selected_gpus
=
"0,1,2,3"
\
--log_dir
=
log_ResNet50_vd
\
tools/train.py
\
-c
./configs/
flower.yaml
-c
./configs/
ResNet/ResNet50_vd.yaml
```
-
输出日志示例如下:
...
...
@@ -40,9 +39,8 @@ epoch:0 train step:13 loss:7.9561 top1:0.0156 top5:0.1094 lr:0
```
bash
python
-m
paddle.distributed.launch
\
--selected_gpus
=
"0,1,2,3"
\
--log_dir
=
log_ResNet50_vd
\
tools/train.py
\
-c
./configs/
flower
.yaml
\
-c
./configs/
ResNet/ResNet50_vd
.yaml
\
-o
use_mix
=
1
```
...
...
@@ -53,58 +51,28 @@ python -m paddle.distributed.launch \
epoch:0 train step:522 loss:1.6330 lr:0.100000 elapse:0.210
```
或是直接修改模型对应的yaml配置文件,具体配置参数参考
[
配置文档
](
config.md
)
。
### 2.3 模型微调
以ResNet50_vd和ResNet50_vd_ssld预训练模型对flower102数据集进行微调。
ResNet50_vd: 在ImageNet1k数据集上训练 top1 acc:79.1% 模型详细信息参考
[
模型库
](
https://paddleclas.readthedocs.io/zh_CN/latest/models/ResNet_and_vd.html
)
。
ResNet50_vd_ssld: 在ImageNet1k数据集训练的蒸馏模型 top1: 82.4% 模型详细信息参考
[
模型库
](
https://paddleclas.readthedocs.io/zh_CN/latest/models/ResNet_and_vd.html
)
。
也可以直接修改模型对应的配置文件更新配置。具体配置参数参考
[
配置文档
](
config.md
)
。
flower数据集相关信息参考
[
数据文档
](
data.md
)
。
指定pretrained_model参数初始化预训练模型
ResNet50_vd:
### 2.2 模型微调
```
bash
python
-m
paddle.distributed.launch
\
--selected_gpus
=
"0"
\
tools/train.py
\
-c
./configs/finetune/ResNet50_vd_finetune.yaml
-o
pretrained_model
=
path_to_ResNet50_vd_pretrained_models
```
*
[
30分钟玩转PaddleClas
](
./quick_start.md
)
中包含大量模型微调的示例,可以参考该章节在特定的数据集上进行模型微调。
ResNet50_vd_ssld:
```
bash
python
-m
paddle.distributed.launch
\
--selected_gpus
=
"0"
\
tools/train.py
\
-c
./configs/finetune/ResNet50_vd_ssld_finetune.yaml
-o
pretrained_model
=
path_to_ResNet50_vd_ssld_pretrained_models
```
在使用ResNet50_vd预训练模型对flower102数据进行模型微调后,top1 acc 达到 92.71%。
在使用ResNet50_vd_ssld预训练模型对flower102数据进行模型微调后,top1 acc 达到94.96%。
### 2.2 模型评估
### 2.3 模型评估
```
bash
python tools/eval.py
\
-c
./configs/eval.yaml
\
-o
architectur
e
=
"ResNet50_vd"
\
-o
ARCHITECTURE.nam
e
=
"ResNet50_vd"
\
-o
pretrained_model
=
path_to_pretrained_models
```
您可以更改configs/eval.yaml中的architecture字段和pretrained_model字段来配置评估模型,或是
通过-o参数更新配置。
可以更改configs/eval.yaml中的
`ARCHITECTURE.name`
字段和pretrained_model字段来配置评估模型,也可以
通过-o参数更新配置。
## 三、模型推理
PaddlePaddle提供三种方式进行预测推理,接下来介绍如何用预测引擎进行推理:
首先,对训练好的模型进行转换:
```
bash
python tools/export_model.py
\
-model
=
模型名字
\
...
...
docs/zh_CN/tutorials/install.md
浏览文件 @
026ddb45
...
...
@@ -2,13 +2,12 @@
---
##
1.
简介
##
一、
简介
本章将介绍如何安装PaddleClas及其依赖项.
有关模型库的基本信息请参考
[
README
](
https://github.com/PaddlePaddle/PaddleClas/blob/master/README.md
)
本章将介绍如何安装PaddleClas及其依赖项。
##
2.
安装PaddlePaddle
##
二、
安装PaddlePaddle
运行PaddleClas需要PaddlePaddle Fluid v1.7或更高版本。
...
...
@@ -45,7 +44,7 @@ python -c "import paddle; print(paddle.__version__)"
-
nccl >= 2.1.2
##
3.
安装PaddleClas
##
三、
安装PaddleClas
**克隆PaddleClas模型库:**
...
...
@@ -61,14 +60,3 @@ Python依赖库在[requirements.txt](https://github.com/PaddlePaddle/PaddleClas/
```
pip install --upgrade -r requirements.txt
```
## 4.数据集和预训练模型
PaddleClas加载PaddleClas/dataset/中数据进行训练,请参照
[
数据文档
](
./data.md
)
进行准备。
PaddleClas提供丰富的预训练模型,请参照
[
数据文档
](
./data.md
)
进行准备。
## 5.开始使用
请参照
[
开始使用
](
./getting_started.md
)
文档
docs/zh_CN/tutorials/quick_start.md
浏览文件 @
026ddb45
# 30
min
玩转PaddleClas
# 30
分钟
玩转PaddleClas
请事先参考
[
安装指南
](
install.md
)
配置运行环境和克隆PaddleClas代码。
...
...
@@ -82,7 +82,9 @@ python -m paddle.distributed.launch \
`Top1 Acc`
曲线如下所示,最高准确率为0.2735。
![](
../../images/quick_start/r50_vd_acc.png
)
<div
align=
"center"
>
<img
src=
"../../images/quick_start/r50_vd_acc.png"
width=
"600"
>
</div>
### 3.2 模型微调-基于ResNet50_vd预训练模型(准确率79.12\%)
...
...
@@ -100,7 +102,9 @@ python -m paddle.distributed.launch \
`Top1 Acc`
曲线如下所示,最高准确率为0.9402,加载预训练模型之后,flowers102数据集精度大幅提升,绝对精度涨幅超过65
\%
。
![](
../../images/quick_start/r50_vd_pretrained_acc.png
)
<div
align=
"center"
>
<img
src=
"../../images/quick_start/r50_vd_pretrained_acc.png"
width=
"600"
>
</div>
### 3.3 SSLD模型微调-基于ResNet50_vd_ssld预训练模型(准确率82.39\%)
...
...
@@ -215,7 +219,10 @@ python -m paddle.distributed.launch \
下图给出了不同配置文件在迭代过程中的
`Top1 Acc`
的精度曲线变化图。
![](
../../images/quick_start/all_acc.png
)
<div
align=
"center"
>
<img
src=
"../../images/quick_start/all_acc.png"
width=
"600"
>
</div>
*
更多训练及评估流程,请参考
[
开始使用文档
](
./getting_started.md
)
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录