BatchNorm1d¶
- 
class torch.nn.BatchNorm1d(num_features, eps=1e-05, momentum=0.1, affine=True, track_running_stats=True)[source]¶
- Applies Batch Normalization over a 2D or 3D input (a mini-batch of 1D inputs with optional additional channel dimension) as described in the paper Batch Normalization: Accelerating Deep Network Training by Reducing Internal Covariate Shift . - The mean and standard-deviation are calculated per-dimension over the mini-batches and and are learnable parameter vectors of size C (where C is the input size). By default, the elements of are set to 1 and the elements of are set to 0. The standard-deviation is calculated via the biased estimator, equivalent to torch.var(input, unbiased=False). - Also by default, during training this layer keeps running estimates of its computed mean and variance, which are then used for normalization during evaluation. The running estimates are kept with a default - momentumof 0.1.- If - track_running_statsis set to- False, this layer then does not keep running estimates, and batch statistics are instead used during evaluation time as well.- Note - This - momentumargument is different from one used in optimizer classes and the conventional notion of momentum. Mathematically, the update rule for running statistics here is , where is the estimated statistic and is the new observed value.- Because the Batch Normalization is done over the C dimension, computing statistics on (N, L) slices, it’s common terminology to call this Temporal Batch Normalization. - Parameters
- num_features – from an expected input of size or from input of size 
- eps – a value added to the denominator for numerical stability. Default: 1e-5 
- momentum – the value used for the running_mean and running_var computation. Can be set to - Nonefor cumulative moving average (i.e. simple average). Default: 0.1
- affine – a boolean value that when set to - True, this module has learnable affine parameters. Default:- True
- track_running_stats – a boolean value that when set to - True, this module tracks the running mean and variance, and when set to- False, this module does not track such statistics, and initializes statistics buffers- running_meanand- running_varas- None. When these buffers are- None, this module always uses batch statistics. in both training and eval modes. Default:- True
 
 - Shape:
- Input: or 
- Output: or (same shape as input) 
 
 - Examples: - >>> # With Learnable Parameters >>> m = nn.BatchNorm1d(100) >>> # Without Learnable Parameters >>> m = nn.BatchNorm1d(100, affine=False) >>> input = torch.randn(20, 100) >>> output = m(input)