class_docstr: A keras layer for dynamic graph convolutions.
  
  Dynamic GraphCNN for Learning on Point Clouds
  Yue Wang, Yongbin Sun, Ziwei Liu, Sanjay E. Sarma, Michael Bronstein, and
  Justin Solomon.
  https://arxiv.org/abs/1801.07829
  
  This layer implements an instance of the graph convolutional operation
  described in the paper above, specifically a graph convolution block with a
  single edge filtering layer. This implementation is intended to demonstrate
  how `graph_convolution.edge_convolution_template` can be wrapped to implement
  a variety of edge convolutional methods.
  
  This implementation is slightly generalized version to what is described in
  the paper in that here variable sized neighborhoods are allowed rather than
  forcing a fixed size k-neighbors. Users must provide the neighborhoods as
  input.
class_docstr_tok: ["A","keras","layer","for","dynamic","graph","convolutions",".","Dynamic","GraphCNN","for","Learning","on","Point","Clouds","Yue","Wang",",","Yongbin","Sun",",","Ziwei","Liu",",","Sanjay","E.","Sarma",",","Michael","Bronstein",",","and","Justin","Solomon",".","https",":","\/\/arxiv.org\/abs\/1801.07829","This","layer","implements","an","instance","of","the","graph","convolutional","operation","described","in","the","paper","above",",","specifically","a","graph","convolution","block","with","a","single","edge","filtering","layer",".","This","implementation","is","intended","to","demonstrate","how","`","graph_convolution.edge_convolution_template","`","can","be","wrapped","to","implement","a","variety","of","edge","convolutional","methods",".","This","implementation","is","slightly","generalized","version","to","what","is","described","in","the","paper","in","that","here","variable","sized","neighborhoods","are","allowed","rather","than","forcing","a","fixed","size","k-neighbors",".","Users","must","provide","the","neighborhoods","as","input","."]
docstr: Initializes DynamicGraphConvolutionKerasLayer.
  
  Args:
    num_output_channels: An `int` specifying the number of output channels.
    reduction: Either 'weighted' or 'max'. Specifies the reduction over
      neighborhood edge features as described in the paper above.
    activation: The `activation` argument of `tf.keras.layers.Conv1D`.
    use_bias: The `use_bias` argument of `tf.keras.layers.Conv1D`.
    kernel_initializer: The `kernel_initializer` argument of
      `tf.keras.layers.Conv1D`.
    bias_initializer: The `bias_initializer` argument of
      `tf.keras.layers.Conv1D`.
    kernel_regularizer: The `kernel_regularizer` argument of
      `tf.keras.layers.Conv1D`.
    bias_regularizer: The `bias_regularizer` argument of
      `tf.keras.layers.Conv1D`.
    activity_regularizer: The `activity_regularizer` argument of
      `tf.keras.layers.Conv1D`.
    kernel_constraint: The `kernel_constraint` argument of
      `tf.keras.layers.Conv1D`.
    bias_constraint: The `bias_constraint` argument of
      `tf.keras.layers.Conv1D`.
    name: A name for this layer.
    **kwargs: Additional keyword arguments passed to the base layer.
docstr_tok: ["Initializes","DynamicGraphConvolutionKerasLayer",".","Args",":","num_output_channels",":","An","`","int","`","specifying","the","number","of","output","channels",".","reduction",":","Either","'weighted","'","or","'max","'",".","Specifies","the","reduction","over","neighborhood","edge","features","as","described","in","the","paper","above",".","activation",":","The","`","activation","`","argument","of","`","tf.keras.layers.Conv1D","`",".","use_bias",":","The","`","use_bias","`","argument","of","`","tf.keras.layers.Conv1D","`",".","kernel_initializer",":","The","`","kernel_initializer","`","argument","of","`","tf.keras.layers.Conv1D","`",".","bias_initializer",":","The","`","bias_initializer","`","argument","of","`","tf.keras.layers.Conv1D","`",".","kernel_regularizer",":","The","`","kernel_regularizer","`","argument","of","`","tf.keras.layers.Conv1D","`",".","bias_regularizer",":","The","`","bias_regularizer","`","argument","of","`","tf.keras.layers.Conv1D","`",".","activity_regularizer",":","The","`","activity_regularizer","`","argument","of","`","tf.keras.layers.Conv1D","`",".","kernel_constraint",":","The","`","kernel_constraint","`","argument","of","`","tf.keras.layers.Conv1D","`",".","bias_constraint",":","The","`","bias_constraint","`","argument","of","`","tf.keras.layers.Conv1D","`",".","name",":","A","name","for","this","layer",".","*","*","kwargs",":","Additional","keyword","arguments","passed","to","the","base","layer","."]
code: def __init__(
      self,
      num_output_channels,
      reduction,
      activation=None,
      use_bias=True,
      kernel_initializer="glorot_uniform",
      bias_initializer="zeros",
      kernel_regularizer=None,
      bias_regularizer=None,
      activity_regularizer=None,
      kernel_constraint=None,
      bias_constraint=None,
      name=None,
      **kwargs,
  ):
      """Initializes DynamicGraphConvolutionKerasLayer.
  
      Args:
        num_output_channels: An `int` specifying the number of output channels.
        reduction: Either 'weighted' or 'max'. Specifies the reduction over
          neighborhood edge features as described in the paper above.
        activation: The `activation` argument of `tf.keras.layers.Conv1D`.
        use_bias: The `use_bias` argument of `tf.keras.layers.Conv1D`.
        kernel_initializer: The `kernel_initializer` argument of
          `tf.keras.layers.Conv1D`.
        bias_initializer: The `bias_initializer` argument of
          `tf.keras.layers.Conv1D`.
        kernel_regularizer: The `kernel_regularizer` argument of
          `tf.keras.layers.Conv1D`.
        bias_regularizer: The `bias_regularizer` argument of
          `tf.keras.layers.Conv1D`.
        activity_regularizer: The `activity_regularizer` argument of
          `tf.keras.layers.Conv1D`.
        kernel_constraint: The `kernel_constraint` argument of
          `tf.keras.layers.Conv1D`.
        bias_constraint: The `bias_constraint` argument of
          `tf.keras.layers.Conv1D`.
        name: A name for this layer.
        **kwargs: Additional keyword arguments passed to the base layer.
      """
      super(DynamicGraphConvolutionKerasLayer, self).__init__(
          name=name, **kwargs
      )
      self._num_output_channels = num_output_channels
      self._reduction = reduction
      self._activation = activation
      self._use_bias = use_bias
      self._kernel_initializer = kernel_initializer
      self._bias_initializer = bias_initializer
      self._kernel_regularizer = kernel_regularizer
      self._bias_regularizer = bias_regularizer
      self._activity_regularizer = activity_regularizer
      self._kernel_constraint = kernel_constraint
      self._bias_constraint = bias_constraint
  
file_path: graphics/tensorflow_graphics/nn/layer/graph_convolution.py
imports: from __future__ import absolute_import
  from __future__ import division
  from __future__ import print_function
  import tensorflow
  import tensorflow_graphics.geometry.convolution.graph_convolution
  from tensorflow_graphics.util import export_api
label_desc: Use image node_id 1 to create a new DynamicGraphConvolutionKerasLayer object from inherited base classes: tf.keras.layers with example: obj = DynamicGraphConvolutionKerasLayer(num_output_channels, reduction, activation, use_bias, kernel_initializer, bias_initializer, kernel_regularizer, bias_regularizer, activity_regularizer, kernel_constraint, bias_constraint, name)