InstanceNorm3d¶
- class torch.nn.InstanceNorm3d(num_features, eps=1e-05, momentum=0.1, affine=False, track_running_stats=False, device=None, dtype=None)[source][source]¶
- Applies Instance Normalization. - This operation applies Instance Normalization over a 5D input (a mini-batch of 3D inputs with additional channel dimension) as described in the paper Instance Normalization: The Missing Ingredient for Fast Stylization. - The mean and standard-deviation are calculated per-dimension separately for each object in a mini-batch. and are learnable parameter vectors of size C (where C is the input size) if - affineis- True. The standard-deviation is calculated via the biased estimator, equivalent to torch.var(input, unbiased=False).- By default, this layer uses instance statistics computed from input data in both training and evaluation modes. - If - track_running_statsis set to- True, 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.- 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.- Note - InstanceNorm3dand- LayerNormare very similar, but have some subtle differences.- InstanceNorm3dis applied on each channel of channeled data like 3D models with RGB color, but- LayerNormis usually applied on entire sample and often in NLP tasks. Additionally,- LayerNormapplies elementwise affine transform, while- InstanceNorm3dusually don’t apply affine transform.- Parameters
- num_features (int) – from an expected input of size or 
- eps (float) – a value added to the denominator for numerical stability. Default: 1e-5 
- momentum (Optional[float]) – the value used for the running_mean and running_var computation. Default: 0.1 
- affine (bool) – a boolean value that when set to - True, this module has learnable affine parameters, initialized the same way as done for batch normalization. Default:- False.
- track_running_stats (bool) – 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 always uses batch statistics in both training and eval modes. Default:- False
 
 - Shape:
- Input: or 
- Output: or (same shape as input) 
 
 - Examples: - >>> # Without Learnable Parameters >>> m = nn.InstanceNorm3d(100) >>> # With Learnable Parameters >>> m = nn.InstanceNorm3d(100, affine=True) >>> input = torch.randn(20, 100, 35, 45, 10) >>> output = m(input)