Merge pull request #2381 from cuicheng01/add_finetune_docs

update finetune docs
pull/2387/head
cuicheng01 2022-10-17 16:37:15 +08:00 committed by GitHub
commit 169774a35a
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
5 changed files with 54 additions and 4 deletions

View File

@ -12,6 +12,8 @@
- [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4)
@ -208,7 +210,10 @@ cd path_to_PaddleClas
### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/PPHGNet/PPHGNet_small.yaml` 中提供了 PPHGNet_small 训练配置,可以通过如下脚本启动训练:
```shell
@ -223,6 +228,13 @@ python3 -m paddle.distributed.launch \
**备注:**
* 当前精度最佳的模型会保存在 `output/PPHGNet_small/best_model.pdparams`
<a name="3.3.2"></a>
#### 3.3.2 基于 ImageNet 权重微调
如果训练的不是 ImageNet 任务,而是其他任务时,需要更改配置文件和训练方法,详情可以参考:[模型微调](../../training/single_label_classification/finetune.md)。
<a name="3.4"></a>
@ -263,6 +275,8 @@ python3 tools/infer.py \
* 默认是对 `docs/images/inference_deployment/whl_demo.jpg` 进行预测,此处也可以通过增加字段 `-o Infer.infer_imgs=xxx` 对其他图片预测。
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。
* 默认的标签映射基于 ImageNet 数据集,如果改变数据集,需要重新指定`Infer.PostProcess.class_id_map_file`,该映射文件的制作方法可以参考`ppcls/utils/imagenet1k_label_list.txt`。

View File

@ -23,6 +23,8 @@
- [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4)
@ -348,7 +350,9 @@ cd path_to_PaddleClas
### 3.3 模型训练
### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/PPLCNet/PPLCNet_x1_0.yaml` 中提供了 PPLCNet_x1_0 训练配置,可以通过如下脚本启动训练:
@ -364,6 +368,10 @@ python3 -m paddle.distributed.launch \
* 当前精度最佳的模型会保存在 `output/PPLCNet_x1_0/best_model.pdparams`
#### 3.3.2 基于 ImageNet 权重微调
如果训练的不是 ImageNet 任务,而是其他任务时,需要更改配置文件和训练方法,详情可以参考:[模型微调](../../training/single_label_classification/finetune.md)。
<a name="3.4"></a>
### 3.4 模型评估
@ -403,6 +411,8 @@ python3 tools/infer.py \
* 默认是对 `docs/images/inference_deployment/whl_demo.jpg` 进行预测,此处也可以通过增加字段 `-o Infer.infer_imgs=xxx` 对其他图片预测。
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。
* 默认的标签映射基于 ImageNet 数据集,如果改变数据集,需要重新指定`Infer.PostProcess.class_id_map_file`,该映射文件的制作方法可以参考`ppcls/utils/imagenet1k_label_list.txt`。
<a name="4"></a>

View File

@ -20,6 +20,8 @@
- [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4)
@ -229,6 +231,10 @@ cd path_to_PaddleClas
<a name="3.3"></a>
### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/PPLCNetV2/PPLCNetV2_base.yaml` 中提供了 PPLCNetV2_base 训练配置,可以通过如下脚本启动训练:
@ -243,6 +249,10 @@ python3 -m paddle.distributed.launch \
**备注:**
* 当前精度最佳的模型会保存在 `output/PPLCNetV2_base/best_model.pdparams`
#### 3.3.2 基于 ImageNet 权重微调
如果训练的不是 ImageNet 任务,而是其他任务时,需要更改配置文件和训练方法,详情可以参考:[模型微调](../../training/single_label_classification/finetune.md)。
<a name="3.4"></a>
@ -283,6 +293,8 @@ python3 tools/infer.py \
* 默认是对 `docs/images/inference_deployment/whl_demo.jpg` 进行预测,此处也可以通过增加字段 `-o Infer.infer_imgs=xxx` 对其他图片预测。
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。
* 默认的标签映射基于 ImageNet 数据集,如果改变数据集,需要重新指定`Infer.PostProcess.class_id_map_file`,该映射文件的制作方法可以参考`ppcls/utils/imagenet1k_label_list.txt`。
<a name="4"></a>

View File

@ -16,6 +16,8 @@
- [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4)
@ -245,6 +247,10 @@ cd path_to_PaddleClas
### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/ResNet/ResNet50.yaml` 中提供了 ResNet50 训练配置,可以通过如下脚本启动训练:
```shell
@ -259,6 +265,12 @@ python3 -m paddle.distributed.launch \
* 当前精度最佳的模型会保存在 `output/ResNet50/best_model.pdparams`
<a name="3.3.2"></a>
#### 3.3.2 基于 ImageNet 权重微调
如果训练的不是 ImageNet 任务,而是其他任务时,需要更改配置文件和训练方法,详情可以参考:[模型微调](../../training/single_label_classification/finetune.md)。
<a name="3.4"></a>
### 3.4 模型评估
@ -299,6 +311,8 @@ python3 tools/infer.py \
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。
* 默认的标签映射基于 ImageNet 数据集,如果改变数据集,需要重新指定`Infer.PostProcess.class_id_map_file`,该映射文件的制作方法可以参考`ppcls/utils/imagenet1k_label_list.txt`。
<a name="4"></a>
## 4. 模型推理部署

View File

@ -1,4 +1,4 @@
# 微调模型
# 模型微调
---
此处提供了用户在 linux 操作系统上使用 PaddleClas 的微调finetune模型的教程此处默认您已经配置好本地环境且已经执行过[快速开始](../../quick_start/quick_start_classification_professional.md)相关的代码。
@ -50,7 +50,7 @@ val/ILSVRC2012_val_00000001.JPEG 65
<a name="2.1"></a>
### 2.1 更改配置文件
在 finetune 自己的任务时,往往需要更改训练的配置文件,在`ppcls/configs/ImageNet/`中,定义了所有模型在 ImageNet 数据上的训练配置,可以直接修改该配置完成训练。下面以 ResNet50_vd 为例子,详述需要修改的配置。
在 finetune 自己的任务时,往往需要更改训练的配置文件,在`ppcls/configs/ImageNet/`中,定义了所有模型在 ImageNet 数据上的训练配置,可以直接修改该配置完成训练。下面以 ResNet50_vd 为例子,详述需要修改的配置。其中,该配置文件存在于`ppcls/configs/ImageNet/ResNet/ResNet50_vd.yaml`。
1.类别数类别数量默认为1000ImageNet-1k类别数此处需要修改为实际任务中的类别数量。
```
@ -145,4 +145,4 @@ PaddleClas中的分类指标目前只支持 `Top-k`,如果需要更改 `k` 值
3.在实际的任务中,训练轮数对结果影响可能也比较大,初期可以使用较小的轮数(如 20来调试。
4.模型在微调的过程中,学习率对结果影响比较大,建议多尝试几组学习率。
4.模型在微调的过程中,学习率对结果影响比较大,建议多尝试几组学习率。