Skip to content

Latest commit

 

History

History
120 lines (69 loc) · 2.07 KB

model_group.md

File metadata and controls

120 lines (69 loc) · 2.07 KB

cfg.MODEL

MODEL Group存放所有和模型相关的配置,该Group还包含三个子Group

MODEL_NAME

所选模型,支持deeplabv3p unet icnet pspnet hrnet五种模型

默认值

无(需要用户自己填写)



DEFAULT_NORM_TYPE

模型所用norm类型,支持bn(Batch Norm)、gn(Group Norm)

关于Group Norm的介绍可以参考论文:https://arxiv.org/abs/1803.08494

GN 把通道分为组,并计算每一组之内的均值和方差,以进行归一化。GN 的计算与批量大小无关,其精度也在各种批量大小下保持稳定。适应于网络参数很重的模型,比如deeplabv3+这种,可以在一个小batch下取得一个较好的训练效果。

默认值

bn



DEFAULT_GROUP_NUMBER

默认GROUP数量,仅在DEFAULT_NORM_TYPEgn时生效

默认值

32



BN_MOMENTUM

BatchNorm动量, 一般无需改动

默认值

0.99



DEFAULT_EPSILON

BatchNorm计算时所用的极小值, 防止分母除0溢出,一般无需改动

默认值

1e-5



FP16

是否开启FP16训练

默认值

False



SCALE_LOSS

对损失进行缩放的系数

默认值

1.0

注意事项

  • 启动fp16训练时,建议设置该字段为8


MULTI_LOSS_WEIGHT

多路损失的权重

默认值

[1.0]

注意事项

  • 该字段仅在模型存在多路损失的情况下生效

  • 目前支持的模型中只有icnet使用多路(3路)损失

  • 当选择模型为icnet且该字段的长度不为3时,PaddleSeg会强制设置该字段为[1.0, 0.4, 0.16]

示例

假设模型存在三路损失,计算结果分别为loss1/loss2/loss3,并且MULTI_LOSS_WEIGHT的值为[1.0, 0.4, 0.16],则最终损失的计算结果为

$$loss = 1.0 * loss1 + 0.4 * loss2 + 0.16 * loss3$$