Bootstrap

『paddle』paddleseg 学习笔记:参数说明


1 学习率设置

PaddleSeg 的配置文件给出的学习率中,除了 "bisenet_optic_disc_512x512_1k.yml" 中为单卡学习率外,其余配置文件中均为 4 卡的学习率,如果采用的是单卡训练,则学习率设置应变成原来的 1/4。

2 yaml 文件参数设置

batch_size: 4  # 设定 batch_size 的值即为迭代一次送入网络的图片数量,一般显卡显存越大,batch_size的值可以越大
iters: 1000    # 模型迭代的次数

train_dataset:      # 训练数据设置
  type: OpticDiscSeg                    # 选择数据集格式
  dataset_root: data/optic_disc_seg     # 选择数据集路径
  num_classes: 2                        # 指定目标的类别个数(背景也算为一类)
  transforms:                           # 数据预处理/增强的方式
    - type: Resize                      # 送入网络之前需要进行resize
      target_size: [512, 512]           # 将原图 resize 成 512*512 再送入网络
    - type: RandomHorizontalFlip        # 采用水平反转的方式进行数据增强
    - type: Normalize                   # 图像进行归一化
  mode: train

val_dataset:        # 验证数据设置
  type: OpticDiscSeg                   
  dataset_root: data/optic_disc_seg 
  num_classes: 2 
  transforms:
    - type: Resize 
      target_size: [512, 512]
    - type: Normalize
  mode: val

optimizer:          # 设定优化器的类型
  type: sgd         # 采用 SGD(Stochastic Gradient Descent)随机梯度下降方法为优化器
  momentum: 0.9     # 动量
  weight_decay: 4.0e-5  # 权值衰减,使用的目的是防止过拟合

learning_rate:      # 设定学习率
  value: 0.01       # 初始学习率
  decay:
    type: poly      # 采用 poly 作为学习率衰减方式。
    power: 0.9      # 衰减率
    end_lr: 0       # 最终学习率

loss:               # 设定损失函数的类型
  types:
    - type: CrossEntropyLoss 
  coef: [1, 1, 1, 1, 1]
  # BiseNetV2 有 4 个辅助 loss,加上主 loss 共五个,1表示权重 
  # all_loss = coef_1 * loss_1 + .... + coef_n * loss_n

model:      # 模型说明
  type: BiSeNetV2   # 设定模型类别
  pretrained: Null  # 设定模型的预训练模型
;