class_docstr: The :class:`InstanceNorm` is an instance normalization layer for both fully-connected and convolution outputs.
  See ``tf.nn.batch_normalization`` and  ``tf.nn.moments``.
  
  Parameters
  -----------
  act : activation function.
      The activation function of this layer.
  epsilon : float
      Eplison.
  beta_init : initializer or None
      The initializer for initializing beta, if None, skip beta.
      Usually you should not skip beta unless you know what happened.
  gamma_init : initializer or None
      The initializer for initializing gamma, if None, skip gamma.
      When the instance normalization layer is use instead of 'biases', or the next layer is linear, this can be
      disabled since the scaling can be done by the next layer. see `Inception-ResNet-v2 <https://github.com/tensorflow/models/blob/master/research/slim/nets/inception_resnet_v2.py>`__
  num_features: int
      Number of features for input tensor. Useful to build layer if using InstanceNorm1d, InstanceNorm2d or InstanceNorm3d,
      but should be left as None if using InstanceNorm. Default None.
  data_format : str
      channels_last 'channel_last' (default) or channels_first.
  name : None or str
      A unique layer name.
  
  
  Examples
  ---------
  With TensorLayer
  
  >>> net = tl.layers.Input([None, 50, 50, 32], name='input')
  >>> net = tl.layers.InstanceNorm()(net)
  
  Notes
  -----
  The :class:`InstanceNorm` is universally suitable for 3D/4D/5D input in static model, but should not be used
  in dynamic model where layer is built upon class initialization. So the argument 'num_features' should only be used
  for subclasses :class:`InstanceNorm1d`, :class:`InstanceNorm2d` and :class:`InstanceNorm3d`. All the three subclasses are
  suitable under all kinds of conditions.
class_docstr_tok: ["The",":","class",":","`","InstanceNorm","`","is","an","instance","normalization","layer","for","both","fully-connected","and","convolution","outputs",".","See","``","tf.nn.batch_normalization","``","and","``","tf.nn.moments","``",".","Parameters","--","--","--","--","--","-","act",":","activation","function",".","The","activation","function","of","this","layer",".","epsilon",":","float","Eplison",".","beta_init",":","initializer","or","None","The","initializer","for","initializing","beta",",","if","None",",","skip","beta",".","Usually","you","should","not","skip","beta","unless","you","know","what","happened",".","gamma_init",":","initializer","or","None","The","initializer","for","initializing","gamma",",","if","None",",","skip","gamma",".","When","the","instance","normalization","layer","is","use","instead","of","'biases","'",",","or","the","next","layer","is","linear",",","this","can","be","disabled","since","the","scaling","can","be","done","by","the","next","layer",".","see","`","Inception-ResNet-v2","<","https",":","\/\/github.com\/tensorflow\/models\/blob\/master\/research\/slim\/nets\/inception_resnet_v2.py",">","`","__","num_features",":","int","Number","of","features","for","input","tensor",".","Useful","to","build","layer","if","using","InstanceNorm1d",",","InstanceNorm2d","or","InstanceNorm3d",",","but","should","be","left","as","None","if","using","InstanceNorm",".","Default","None",".","data_format",":","str","channels_last","'channel_last","'","(","default",")","or","channels_first",".","name",":","None","or","str","A","unique","layer","name",".","Examples","--","--","--","--","-","With","TensorLayer",">",">",">","net","=","tl.layers.Input","(","[","None",",","50",",","50",",","32","]",",","name='input","'",")",">",">",">","net","=","tl.layers.InstanceNorm","(",")","(","net",")","Notes","--","--","-","The",":","class",":","`","InstanceNorm","`","is","universally","suitable","for","3D\/4D\/5D","input","in","static","model",",","but","should","not","be","used","in","dynamic","model","where","layer","is","built","upon","class","initialization",".","So","the","argument","'num_features","'","should","only","be","used","for","subclasses",":","class",":","`","InstanceNorm1d","`",",",":","class",":","`","InstanceNorm2d","`","and",":","class",":","`","InstanceNorm3d","`",".","All","the","three","subclasses","are","suitable","under","all","kinds","of","conditions","."]
code: def build(self, inputs_shape):
      params_shape, self.axes = self._get_param_shape(inputs_shape)
  
      self.beta, self.gamma = None, None
      if self.beta_init:
          self.beta = self._get_weights(
              "beta", shape=params_shape, init=self.beta_init
          )
  
      if self.gamma_init:
          self.gamma = self._get_weights(
              "gamma", shape=params_shape, init=self.gamma_init
          )
  
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 4 for calling the InstanceNorm obj's underlying member method code with example usage: obj.build(inputs_shape) without return types