class_docstr: The pixel normalization layer.
  
  This layer normalizes each feature vector of the feature map to 'unit' length
  as described in the paper:
  "Progressive growing of GANs for Improved Quality, Stability, and Variation"
  https://arxiv.org/pdf/1710.10196.pdf
  The per pixel length of the features is sqrt(C) with C the number of channels.
class_docstr_tok: ["The","pixel","normalization","layer",".","This","layer","normalizes","each","feature","vector","of","the","feature","map","to","'unit","'","length","as","described","in","the","paper",":","''","Progressive","growing","of","GANs","for","Improved","Quality",",","Stability",",","and","Variation","''","https",":","\/\/arxiv.org\/pdf\/1710.10196.pdf","The","per","pixel","length","of","the","features","is","sqrt","(","C",")","with","C","the","number","of","channels","."]
docstr: Initializes the pixel normalization layer.
  
  Args:
    axis: The axis that corresponds to the feature channels over which the
      normalization should take place.
    epsilon: The epslion that is added to aviod numerical stability issues
      with the divion.
    **kwargs: Dictionary with additional keyword arguments that get forwarded
      to the super class initializer.
docstr_tok: ["Initializes","the","pixel","normalization","layer",".","Args",":","axis",":","The","axis","that","corresponds","to","the","feature","channels","over","which","the","normalization","should","take","place",".","epsilon",":","The","epslion","that","is","added","to","aviod","numerical","stability","issues","with","the","divion",".","*","*","kwargs",":","Dictionary","with","additional","keyword","arguments","that","get","forwarded","to","the","super","class","initializer","."]
code: def __init__(self, axis: int, epsilon: float = 1e-8, **kwargs):
      """Initializes the pixel normalization layer.
  
      Args:
        axis: The axis that corresponds to the feature channels over which the
          normalization should take place.
        epsilon: The epslion that is added to aviod numerical stability issues
          with the divion.
        **kwargs: Dictionary with additional keyword arguments that get forwarded
          to the super class initializer.
      """
      super().__init__(**kwargs)
      self._axis = axis
      self._epsilon = epsilon
  
imports: import math
  from typing import Any, Callable, Dict, Optional, Sequence, Tuple, Union, List
  import numpy
  import tensorflow
label_desc: Use image node_id 1 to create a new PixelNormalization object from inherited base classes: tf.keras.layers with example: obj = PixelNormalization(axis, epsilon)