class_docstr: The :class:`GroupNorm` layer is for Group Normalization.
  See `tf.contrib.layers.group_norm <https://www.tensorflow.org/api_docs/python/tf/contrib/layers/group_norm>`__.
  
  Parameters
  -----------
  # prev_layer : :class:`Layer`
  #     The previous layer.
  groups : int
      The number of groups
  act : activation function
      The activation function of this layer.
  epsilon : float
      Eplison.
  data_format : str
      channels_last 'channel_last' (default) or channels_first.
  name : None or str
      A unique layer name
class_docstr_tok: ["The",":","class",":","`","GroupNorm","`","layer","is","for","Group","Normalization",".","See","`","tf.contrib.layers.group_norm","<","https",":","\/\/www.tensorflow.org\/api_docs\/python\/tf\/contrib\/layers\/group_norm",">","`","__",".","Parameters","--","--","--","--","--","-","#","prev_layer",":",":","class",":","`","Layer","`","#","The","previous","layer",".","groups",":","int","The","number","of","groups","act",":","activation","function","The","activation","function","of","this","layer",".","epsilon",":","float","Eplison",".","data_format",":","str","channels_last","'channel_last","'","(","default",")","or","channels_first",".","name",":","None","or","str","A","unique","layer","name"]
code: def forward(self, inputs):
      x = tf.reshape(inputs, self.int_shape)
      if self.data_format == "channels_last":
          mean, var = tf.nn.moments(x=x, axes=[1, 2, 4], keepdims=True)
      elif self.data_format == "channels_first":
          mean, var = tf.nn.moments(x=x, axes=[2, 3, 4], keepdims=True)
      else:
          raise Exception("unknown data_format")
      x = (x - mean) / tf.sqrt(var + self.epsilon)
  
      outputs = (
          tf.reshape(x, tf.shape(input=inputs)) * self.gamma + self.beta
      )
      if self.act:
          outputs = self.act(outputs)
      return outputs
  
imports: import tensorflow
  from tensorflow.python.framework import ops
  from tensorflow.python.ops import math_ops
  from tensorflow.python.training import moving_averages
  import tensorlayer
  from tensorlayer import logging
  from tensorlayer.layers.core import Layer
label_desc: Use image node_id 3 for calling the GroupNorm obj's underlying member method code with example usage: obj.forward(inputs) and returns: outputs