# cfg.MODEL MODEL Group存放所有和模型相关的配置,该Group还包含三个子Group * [DeepLabv3p](./model_deeplabv3p_group.md) * [UNet](./model_unet_group.md) * [ICNet](./model_icnet_group.md) * [PSPNet](./model_pspnet_group.md) * [HRNet](./model_hrnet_group.md) ## `MODEL_NAME` 所选模型,支持`deeplabv3p` `unet` `icnet` `pspnet` `hrnet`五种模型 ### 默认值 无(需要用户自己填写)

## `DEFAULT_NORM_TYPE` 模型所用norm类型,支持`bn`(Batch Norm)、`gn`(Group Norm) ![](../imgs/gn.png) 关于Group Norm的介绍可以参考论文:https://arxiv.org/abs/1803.08494 GN 把通道分为组,并计算每一组之内的均值和方差,以进行归一化。GN 的计算与批量大小无关,其精度也在各种批量大小下保持稳定。适应于网络参数很重的模型,比如deeplabv3+这种,可以在一个小batch下取得一个较好的训练效果。 ### 默认值 `bn`

## `DEFAULT_GROUP_NUMBER` 默认GROUP数量,仅在`DEFAULT_NORM_TYPE`为`gn`时生效 ### 默认值 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],则最终损失的计算结果为 ```math loss = 1.0 * loss1 + 0.4 * loss2 + 0.16 * loss3 ```