class_docstr: Demodulation layer for StyleGAN.
  
  This layer applies the Demodulated Convolution layer from StyleGANv2
  that is used in the paper "
  Analyzing and Improving the Image Quality of StyleGAN".
  https://arxiv.org/pdf/1912.04958.pdf
  
  It takes in the style input and applies demodulation on the features.
class_docstr_tok: ["Demodulation","layer","for","StyleGAN",".","This","layer","applies","the","Demodulated","Convolution","layer","from","StyleGANv2","that","is","used","in","the","paper","``","Analyzing","and","Improving","the","Image","Quality","of","StyleGAN","''",".","https",":","\/\/arxiv.org\/pdf\/1912.04958.pdf","It","takes","in","the","style","input","and","applies","demodulation","on","the","features","."]
docstr: Initizlies the demodulated convolution layer.
  
  Args:
    filters: The number of filters the convolution will use.
    kernel_size: The kernel size of the convolution.
    kernel_initializer: The initializer of the kernels of the convolution and
      dense layer.
    bias_initializer: The initializer of the bias of the convolution and dense
      layer.
    **kwargs: The keyword arguments that are forwarded to the super class.
docstr_tok: ["Initizlies","the","demodulated","convolution","layer",".","Args",":","filters",":","The","number","of","filters","the","convolution","will","use",".","kernel_size",":","The","kernel","size","of","the","convolution",".","kernel_initializer",":","The","initializer","of","the","kernels","of","the","convolution","and","dense","layer",".","bias_initializer",":","The","initializer","of","the","bias","of","the","convolution","and","dense","layer",".","*","*","kwargs",":","The","keyword","arguments","that","are","forwarded","to","the","super","class","."]
code: def __init__(
      self,
      filters: int,
      kernel_size: int,
      kernel_initializer: Optional[_KerasInitializer] = None,
      bias_initializer: _KerasInitializer = "zeros",
      **kwargs: Any,
  ) -> None:
      """Initizlies the demodulated convolution layer.
  
      Args:
        filters: The number of filters the convolution will use.
        kernel_size: The kernel size of the convolution.
        kernel_initializer: The initializer of the kernels of the convolution and
          dense layer.
        bias_initializer: The initializer of the bias of the convolution and dense
          layer.
        **kwargs: The keyword arguments that are forwarded to the super class.
      """
      super().__init__(**kwargs)
      if kernel_initializer is None:
          self._kernel_initializer = (
              tf.keras.initializers.TruncatedNormal(
                  mean=0.0, stddev=1.0
              )
          )
      else:
          self._kernel_initializer = tf.keras.initializers.get(
              kernel_initializer
          )
  
      self._bias_initializer = tf.keras.initializers.get(
          bias_initializer
      )
  
      self._conv_layer = FanInScaledConv2D(
          filters=filters,
          kernel_size=kernel_size,
          strides=1,
          padding="same",
          kernel_initializer=self._kernel_initializer,
          use_bias=False,
      )
      self._kernel_size = kernel_size
      self._filters = filters
  
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 DemodulatedConvolution object from inherited base classes: tf.keras.layers with example: obj = DemodulatedConvolution(filters, kernel_size, kernel_initializer, bias_initializer)