未验证 提交 169774a3 编写于 作者: C cuicheng01 提交者: GitHub

Merge pull request #2381 from cuicheng01/add_finetune_docs

update finetune docs
......@@ -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`
......
......@@ -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>
......
......@@ -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>
......
......@@ -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. 模型推理部署
......
# 微调模型
# 模型微调
---
此处提供了用户在 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.类别数:类别数量默认为1000(ImageNet-1k类别数),此处需要修改为实际任务中的类别数量。
```
......@@ -145,4 +145,4 @@ PaddleClas中的分类指标目前只支持 `Top-k`,如果需要更改 `k` 值
3.在实际的任务中,训练轮数对结果影响可能也比较大,初期可以使用较小的轮数(如 20)来调试。
4.模型在微调的过程中,学习率对结果影响比较大,建议多尝试几组学习率。
\ No newline at end of file
4.模型在微调的过程中,学习率对结果影响比较大,建议多尝试几组学习率。
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册