简介
介绍了 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输出层 | | 需传入字典结构,包含name key值,具体值为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 值 |