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

Merge pull request #2381 from cuicheng01/add_finetune_docs

update finetune docs
...@@ -12,6 +12,8 @@ ...@@ -12,6 +12,8 @@
- [3.1 环境配置](#3.1) - [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2) - [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3) - [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4) - [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5) - [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4) - [4. 模型推理部署](#4)
...@@ -208,6 +210,9 @@ cd path_to_PaddleClas ...@@ -208,6 +210,9 @@ cd path_to_PaddleClas
### 3.3 模型训练 ### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/PPHGNet/PPHGNet_small.yaml` 中提供了 PPHGNet_small 训练配置,可以通过如下脚本启动训练: `ppcls/configs/ImageNet/PPHGNet/PPHGNet_small.yaml` 中提供了 PPHGNet_small 训练配置,可以通过如下脚本启动训练:
...@@ -224,6 +229,13 @@ python3 -m paddle.distributed.launch \ ...@@ -224,6 +229,13 @@ python3 -m paddle.distributed.launch \
* 当前精度最佳的模型会保存在 `output/PPHGNet_small/best_model.pdparams` * 当前精度最佳的模型会保存在 `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> <a name="3.4"></a>
### 3.4 模型评估 ### 3.4 模型评估
...@@ -264,6 +276,8 @@ python3 tools/infer.py \ ...@@ -264,6 +276,8 @@ python3 tools/infer.py \
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。 * 默认输出的是 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> <a name="4"></a>
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
- [3.1 环境配置](#3.1) - [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2) - [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3) - [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4) - [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5) - [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4) - [4. 模型推理部署](#4)
...@@ -348,7 +350,9 @@ cd path_to_PaddleClas ...@@ -348,7 +350,9 @@ cd path_to_PaddleClas
### 3.3 模型训练 ### 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 训练配置,可以通过如下脚本启动训练: `ppcls/configs/ImageNet/PPLCNet/PPLCNet_x1_0.yaml` 中提供了 PPLCNet_x1_0 训练配置,可以通过如下脚本启动训练:
...@@ -364,6 +368,10 @@ python3 -m paddle.distributed.launch \ ...@@ -364,6 +368,10 @@ python3 -m paddle.distributed.launch \
* 当前精度最佳的模型会保存在 `output/PPLCNet_x1_0/best_model.pdparams` * 当前精度最佳的模型会保存在 `output/PPLCNet_x1_0/best_model.pdparams`
#### 3.3.2 基于 ImageNet 权重微调
如果训练的不是 ImageNet 任务,而是其他任务时,需要更改配置文件和训练方法,详情可以参考:[模型微调](../../training/single_label_classification/finetune.md)
<a name="3.4"></a> <a name="3.4"></a>
### 3.4 模型评估 ### 3.4 模型评估
...@@ -404,6 +412,8 @@ python3 tools/infer.py \ ...@@ -404,6 +412,8 @@ python3 tools/infer.py \
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。 * 默认输出的是 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> <a name="4"></a>
## 4. 模型推理部署 ## 4. 模型推理部署
......
...@@ -20,6 +20,8 @@ ...@@ -20,6 +20,8 @@
- [3.1 环境配置](#3.1) - [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2) - [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3) - [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4) - [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5) - [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4) - [4. 模型推理部署](#4)
...@@ -230,6 +232,10 @@ cd path_to_PaddleClas ...@@ -230,6 +232,10 @@ cd path_to_PaddleClas
### 3.3 模型训练 ### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/PPLCNetV2/PPLCNetV2_base.yaml` 中提供了 PPLCNetV2_base 训练配置,可以通过如下脚本启动训练: `ppcls/configs/ImageNet/PPLCNetV2/PPLCNetV2_base.yaml` 中提供了 PPLCNetV2_base 训练配置,可以通过如下脚本启动训练:
```shell ```shell
...@@ -244,6 +250,10 @@ python3 -m paddle.distributed.launch \ ...@@ -244,6 +250,10 @@ python3 -m paddle.distributed.launch \
* 当前精度最佳的模型会保存在 `output/PPLCNetV2_base/best_model.pdparams` * 当前精度最佳的模型会保存在 `output/PPLCNetV2_base/best_model.pdparams`
#### 3.3.2 基于 ImageNet 权重微调
如果训练的不是 ImageNet 任务,而是其他任务时,需要更改配置文件和训练方法,详情可以参考:[模型微调](../../training/single_label_classification/finetune.md)
<a name="3.4"></a> <a name="3.4"></a>
### 3.4 模型评估 ### 3.4 模型评估
...@@ -284,6 +294,8 @@ python3 tools/infer.py \ ...@@ -284,6 +294,8 @@ python3 tools/infer.py \
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。 * 默认输出的是 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> <a name="4"></a>
## 4. 模型推理部署 ## 4. 模型推理部署
......
...@@ -16,6 +16,8 @@ ...@@ -16,6 +16,8 @@
- [3.1 环境配置](#3.1) - [3.1 环境配置](#3.1)
- [3.2 数据准备](#3.2) - [3.2 数据准备](#3.2)
- [3.3 模型训练](#3.3) - [3.3 模型训练](#3.3)
- [3.3.1 训练 ImageNet](#3.3.1)
- [3.3.2 基于 ImageNet 权重微调](#3.3.2)
- [3.4 模型评估](#3.4) - [3.4 模型评估](#3.4)
- [3.5 模型预测](#3.5) - [3.5 模型预测](#3.5)
- [4. 模型推理部署](#4) - [4. 模型推理部署](#4)
...@@ -245,6 +247,10 @@ cd path_to_PaddleClas ...@@ -245,6 +247,10 @@ cd path_to_PaddleClas
### 3.3 模型训练 ### 3.3 模型训练
<a name="3.3.1"></a>
#### 3.3.1 训练 ImageNet
`ppcls/configs/ImageNet/ResNet/ResNet50.yaml` 中提供了 ResNet50 训练配置,可以通过如下脚本启动训练: `ppcls/configs/ImageNet/ResNet/ResNet50.yaml` 中提供了 ResNet50 训练配置,可以通过如下脚本启动训练:
```shell ```shell
...@@ -259,6 +265,12 @@ python3 -m paddle.distributed.launch \ ...@@ -259,6 +265,12 @@ python3 -m paddle.distributed.launch \
* 当前精度最佳的模型会保存在 `output/ResNet50/best_model.pdparams` * 当前精度最佳的模型会保存在 `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> <a name="3.4"></a>
### 3.4 模型评估 ### 3.4 模型评估
...@@ -299,6 +311,8 @@ python3 tools/infer.py \ ...@@ -299,6 +311,8 @@ python3 tools/infer.py \
* 默认输出的是 Top-5 的值,如果希望输出 Top-k 的值,可以指定`-o Infer.PostProcess.topk=k`,其中,`k` 为您指定的值。 * 默认输出的是 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> <a name="4"></a>
## 4. 模型推理部署 ## 4. 模型推理部署
......
# 微调模型 # 模型微调
--- ---
此处提供了用户在 linux 操作系统上使用 PaddleClas 的微调(finetune)模型的教程,此处默认您已经配置好本地环境且已经执行过[快速开始](../../quick_start/quick_start_classification_professional.md)相关的代码。 此处提供了用户在 linux 操作系统上使用 PaddleClas 的微调(finetune)模型的教程,此处默认您已经配置好本地环境且已经执行过[快速开始](../../quick_start/quick_start_classification_professional.md)相关的代码。
...@@ -50,7 +50,7 @@ val/ILSVRC2012_val_00000001.JPEG 65 ...@@ -50,7 +50,7 @@ val/ILSVRC2012_val_00000001.JPEG 65
<a name="2.1"></a> <a name="2.1"></a>
### 2.1 更改配置文件 ### 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类别数),此处需要修改为实际任务中的类别数量。 1.类别数:类别数量默认为1000(ImageNet-1k类别数),此处需要修改为实际任务中的类别数量。
``` ```
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册