配置说明
简介
本文档介绍了PaddleClas配置文件(configs/*.yaml)中各参数的含义,以便您更快地自定义或修改超参数配置。
- 注意:部分参数并未在配置文件中体现,在训练或者评估时,可以直接使用
-o进行参数的扩充或者更新,比如说-o checkpoints=./ckp_path/ppcls,表示在配置文件中添加(如果之前不存在)或者更新(如果之前已经包含该字段)checkpoints字段,其值设为./ckp_path/ppcls。
配置详解
基础配置
| 参数名字 |
具体含义 |
默认值 |
可选值 |
| mode |
运行模式 |
"train" |
["train"," valid"] |
| checkpoints |
断点模型路径,用于恢复训练 |
"" |
Str |
| last_epoch |
上一次训练结束时已经训练的epoch数量,与checkpoints一起使用 |
-1 |
int |
| pretrained_model |
预训练模型路径 |
"" |
Str |
| load_static_weights |
加载的模型是否为静态图的预训练模型 |
False |
bool |
| model_save_dir |
保存模型路径 |
"" |
Str |
| classes_num |
分类数 |
1000 |
int |
| total_images |
总图片数 |
1281167 |
int |
| save_interval |
每隔多少个epoch保存模型 |
1 |
int |
| validate |
是否在训练时进行评估 |
TRUE |
bool |
| valid_interval |
每隔多少个epoch进行模型评估 |
1 |
int |
| epochs |
训练总epoch数 |
|
int |
| topk |
评估指标K值大小 |
5 |
int |
| image_shape |
图片大小 |
[3,224,224] |
list, shape: (3,) |
| use_mix |
是否启用mixup |
False |
['True', 'False'] |
| ls_epsilon |
label_smoothing epsilon值 |
0 |
float |
| use_distillation |
是否进行模型蒸馏 |
False |
bool |
结构(ARCHITECTURE)
分类模型结构配置
| 参数名字 |
具体含义 |
默认值 |
可选值 |
| name |
模型结构名字 |
"ResNet50_vd" |
PaddleClas提供的模型结构 |
| params |
模型传参 |
{} |
模型结构所需的额外字典,如EfficientNet等配置文件中需要传入padding_type等参数,可以通过这种方式传入 |
识别模型结构配置
| 参数名字 |
具体含义 |
默认值 |
可选值 |
| name |
模型结构 |
"RecModel" |
["RecModel"] |
| infer_output_key |
inference时的输出值 |
“feature” |
["feature", "logits"] |
| infer_add_softmax |
infercne是否添加softmax |
True |
[True, False] |
| Backbone |
使用Backbone的名字 |
|
需传入字典结构,包含name、pretrained等key值。其中name为分类模型名字, pretrained为布尔值 |
| BackboneStopLayer |
Backbone中的feature输出层 |
|
需传入字典结构,包含namekey值,具体值为Backbone中的特征输出层的full_name |
| Neck |
添加的网络Neck部分 |
|
需传入字典结构,Neck网络层的具体输入参数 |
| Head |
添加的网络Head部分 |
|
需传入字典结构,Head网络层的具体输入参数 |
学习率(LEARNING_RATE)
| 参数名字 |
具体含义 |
默认值 |
可选值 |
| function |
decay方法名 |
"Linear" |
["Linear", "Cosine", "Piecewise", "CosineWarmup"] |
| params.lr |
初始学习率 |
0.1 |
float |
| params.decay_epochs |
piecewisedecay中 衰减学习率的milestone |
|
list |
| params.gamma |
piecewisedecay中gamma值 |
0.1 |
float |
| params.warmup_epoch |
warmup轮数 |
5 |
int |
| parmas.steps |
lineardecay衰减steps数 |
100 |
int |
| params.end_lr |
lineardecayend_lr值 |
0 |
float |
优化器(OPTIMIZER)
| 参数名字 |
具体含义 |
默认值 |
可选值 |
| function |
优化器方法名 |
"Momentum" |
["Momentum", "RmsProp"] |
| params.momentum |
momentum值 |
0.9 |
float |
| regularizer.function |
正则化方法名 |
"L2" |
["L1", "L2"] |
| regularizer.factor |
正则化系数 |
0.0001 |
float |
数据读取器与数据处理
| 参数名字 |
具体含义 |
| batch_size |
批大小 |
| num_workers |
数据读取器worker数量 |
| file_list |
train文件列表 |
| data_dir |
train文件路径 |
| shuffle_seed |
用来进行shuffle的seed值 |
数据处理
| 功能名字 |
参数名字 |
具体含义 |
| DecodeImage |
to_rgb |
数据转RGB |
|
to_np |
数据转numpy |
|
channel_first |
按CHW排列的图片数据 |
| RandCropImage |
size |
随机裁剪 |
| RandFlipImage |
|
随机翻转 |
| NormalizeImage |
scale |
归一化scale值 |
|
mean |
归一化均值 |
|
std |
归一化方差 |
|
order |
归一化顺序 |
| ToCHWImage |
|
调整为CHW |
| CropImage |
size |
裁剪大小 |
| ResizeImage |
resize_short |
按短边调整大小 |
mix处理
| 参数名字 |
具体含义 |
| MixupOperator.alpha |
mixup处理中的alpha值 |