class_docstr: The fully connected layer used by the classification head in pointnet.
  
  Note:
    Differently from the standard Keras Conv2 layer, the order of ops is:
      1. fully connected layer
      2. batch normalization layer
      3. ReLU activation unit
class_docstr_tok: ["The","fully","connected","layer","used","by","the","classification","head","in","pointnet",".","Note",":","Differently","from","the","standard","Keras","Conv2","layer",",","the","order","of","ops","is",":","1.","fully","connected","layer","2.","batch","normalization","layer","3",".","ReLU","activation","unit"]
code: def __init__(self, channels, momentum):
      super(PointNetDenseLayer, self).__init__()
      self.momentum = momentum
      self.channels = channels
  
imports: from typing import Optional
  import tensorflow
  from tensorflow_graphics.util import export_api
label_desc: Use image node_id 1 to create a new PointNetDenseLayer object from inherited base classes: tf.keras.layers with example: obj = PointNetDenseLayer(channels, momentum)