SyncBatchNorm¶
- class SyncBatchNorm(num_features, eps=1e-05, momentum=0.9, affine=True, track_running_stats=True, freeze=False, group=WORLD, **kwargs)[源代码]¶
对于分布式训练执行组多机同步版本的 BatchNormalization 操作。
- 参数
num_features – 通常是形状为 \((N, C, H, W)\) 输入数据的 \(C\) 或者维度低于四维的输入的最高维。
eps – 添加到分母的单个值,增加数值稳定性。默认:1e-5
momentum – 用于计算
running_mean
和running_var
的值。默认:0.9affine – 单个布尔值,当设置为
True
,那么这个模块具有可学习的仿射(affine)参数。默认:Truetrack_running_stats – 当设置为 True,则这个模块跟踪运行时的不同batch的均值和方差。当设置为 False,该模块不跟踪这样的统计数据并在训练和eval模式下始终使用当前批统计数据。默认: True
freeze – 设置为True时,此模块不会更新运行运行时平均值和运行时方差,使用运行时平均值和方差而不是批次均值和批次方差来标准化输入。这个参数产生作用仅在使用 track_running_stats=True 初始化模块时有效并且模块处于训练模式。默认:False
group (
Optional
[Group
]) – 多机通信中的分组,用于计算组内的均值和方差。默认为全局分组WORLD