class_docstr: Group normalisation layer, with trainable mean value 'beta' and
  std 'gamma'.  'beta' is initialised to 0.0 and 'gamma' is initialised
  to 1.0.  This class assumes 'beta' and 'gamma' share the same type_str of
  regulariser.
  
  Reimplementation of
  Wu and He, Group Normalization, arXiv:1803.08494 (2018)
code: def __init__(
      self, group_size=32, regularizer=None, eps=1e-5, name="group_norm"
  ):
      super(GNLayer, self).__init__(name=name)
      self.group_size = group_size
      self.eps = eps
      self.initializers = {
          "beta": tf.constant_initializer(0.0),
          "gamma": tf.constant_initializer(1.0),
      }
      self.regularizers = {"beta": regularizer, "gamma": regularizer}
  
imports: from __future__ import absolute_import, print_function
  import tensorflow
  from niftynet.layer.base_layer import TrainableLayer
label_desc: Use image node_id 1 to create a new GNLayer object from inherited base classes: TrainableLayer with example: obj = GNLayer(group_size, regularizer, eps, name)