class_docstr: Normalization layer based on the exponential moving average of mean and variance over the
  temporal sequence of inputs
  (specification key: `exponential_normalization`).
  
  Args:
      decay (parameter, 0.0 <= float <= 1.0): Decay rate
          (<span style="color:#C00000"><b>required</b></span>).
      axes (iter[int >= 0]): Normalization axes, excluding batch axis
          (<span style="color:#00C000"><b>default</b></span>: all but last input axes).
      only_mean (bool): Whether to normalize only with respect to mean, not variance
          (<span style="color:#00C000"><b>default</b></span>: false).
      min_variance (float > 0.0): Clip variance lower than minimum
          (<span style="color:#00C000"><b>default</b></span>: 1e-4).
      name (string): Layer name
          (<span style="color:#00C000"><b>default</b></span>: internally chosen).
      input_spec (specification): <span style="color:#00C000"><b>internal use</b></span>.
class_docstr_tok: ["Normalization","layer","based","on","the","exponential","moving","average","of","mean","and","variance","over","the","temporal","sequence","of","inputs","(","specification","key",":","`","exponential_normalization","`",")",".","Args",":","decay","(","parameter",",","0.0","<","=","float","<","=","1.0",")",":","Decay","rate","(","<","span","style=","''","color",":","#","C00000","''",">","<","b",">","required","<","\/b",">","<","\/span",">",")",".","axes","(","iter","[","int",">","=","0","]",")",":","Normalization","axes",",","excluding","batch","axis","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","all","but","last","input","axes",")",".","only_mean","(","bool",")",":","Whether","to","normalize","only","with","respect","to","mean",",","not","variance","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","false",")",".","min_variance","(","float",">","0.0",")",":","Clip","variance","lower","than","minimum","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","1e-4",")",".","name","(","string",")",":","Layer","name","(","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","default","<","\/b",">","<","\/span",">",":","internally","chosen",")",".","input_spec","(","specification",")",":","<","span","style=","''","color",":","#","00C000","''",">","<","b",">","internal","use","<","\/b",">","<","\/span",">","."]
code: def default_input_spec(self):
      return TensorSpec(type="float", shape=None)
  
imports: import numpy
  import tensorflow
  from tensorforce import TensorforceError
  from tensorforce.core import parameter_modules, TensorSpec, tf_function, tf_util
  from tensorforce.core.layers import Layer, StatefulLayer
label_desc: Use image node_id 2 for calling the ExponentialNormalization obj's underlying member method code with example usage: obj.default_input_spec() and returns: TensorSpec