class_docstr: The :class:`InstanceNorm3d` applies Instance Normalization over 5D input (a mini-instance of 3D
  inputs with additional channel dimension) with shape (N, D, H, W, C) or (N, C, D, H, W).
  See more details in :class:`InstanceNorm`.
  
  Examples
  ---------
  With TensorLayer
  
  >>> # in static model, no need to specify num_features
  >>> net = tl.layers.Input([None, 50, 50, 50, 32], name='input')
  >>> net = tl.layers.InstanceNorm3d()(net)
  >>> # in dynamic model, build by specifying num_features
  >>> conv = tl.layers.Conv3d(32, (5, 5, 5), (1, 1), in_channels=3)
  >>> bn = tl.layers.InstanceNorm3d(num_features=32)
class_docstr_tok: ["The",":","class",":","`","InstanceNorm3d","`","applies","Instance","Normalization","over","5D","input","(","a","mini-instance","of","3D","inputs","with","additional","channel","dimension",")","with","shape","(","N",",","D",",","H",",","W",",","C",")","or","(","N",",","C",",","D",",","H",",","W",")",".","See","more","details","in",":","class",":","`","InstanceNorm","`",".","Examples","--","--","--","--","-","With","TensorLayer",">",">",">","#","in","static","model",",","no","need","to","specify","num_features",">",">",">","net","=","tl.layers.Input","(","[","None",",","50",",","50",",","50",",","32","]",",","name='input","'",")",">",">",">","net","=","tl.layers.InstanceNorm3d","(",")","(","net",")",">",">",">","#","in","dynamic","model",",","build","by","specifying","num_features",">",">",">","conv","=","tl.layers.Conv3d","(","32",",","(","5",",","5",",","5",")",",","(","1",",","1",")",",","in_channels=3",")",">",">",">","bn","=","tl.layers.InstanceNorm3d","(","num_features=32",")"]
code: def _get_param_shape(self, inputs_shape):
      if self.data_format == "channels_last":
          axis = 4
      elif self.data_format == "channels_first":
          axis = 1
      else:
          raise ValueError(
              "data_format should be either %s or %s"
              % ("channels_last", "channels_first")
          )
  
      if self.num_features is None:
          channels = inputs_shape[axis]
      else:
          channels = self.num_features
      params_shape = [1] * 5
      params_shape[axis] = channels
  
      axes = [i for i in range(5) if i != 0 and i != axis]
      return params_shape, axes
  
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 1 for calling the InstanceNorm3d obj's underlying member method code with example usage: obj._get_param_shape(inputs_shape) and returns: params_shape,  axes