GroupNorm
class torch.nn.GroupNorm(num_groups, num_channels, eps=1e-05, affine=True, device=None, dtype=None)
Applies Group Normalization over a mini-batch of inputs as
   described in the paper Group Normalization
  y = \frac{x - \mathrm{E}[x]}{ \sqrt{\mathrm{Var}[x] + \epsilon}}
  * \gamma + \beta

The input channels are separated into "num_groups" groups, each
   containing "num_channels / num_groups" channels. "num_channels"
   must be divisible by "num_groups". The mean and standard-deviation
   are calculated separately over the each group. \gamma and \beta are
   learnable per-channel affine transform parameter vectors of size
   "num_channels" if "affine" is "True". The standard-deviation is
   calculated via the biased estimator, equivalent to
   torch.var(input, unbiased=False).
This layer uses statistics computed from input data in both
   training and evaluation modes.
Parameters:
      * num_groups (int) -- number of groups to separate the