code: def test_vanilla_classifier(self, input_shape, num_classes, training):
      B = input_shape[0]
      C = num_classes
      inputs = tf.random.uniform(input_shape)
      model = PointNetVanillaClassifier(num_classes, momentum=0.5)
      logits = model(inputs, training)
      assert logits.shape == (B, C)
      labels = tf.random.uniform(
          (B,), minval=0, maxval=C, dtype=tf.int64
      )
      PointNetVanillaClassifier.loss(labels, logits)
  
file_path: graphics/tensorflow_graphics/nn/layer/tests/pointnet_test.py
imports: from absl.testing import parameterized
  import tensorflow
  from tensorflow_graphics.nn.layer.pointnet import ClassificationHead
  from tensorflow_graphics.nn.layer.pointnet import PointNetConv2Layer
  from tensorflow_graphics.nn.layer.pointnet import PointNetDenseLayer
  from tensorflow_graphics.nn.layer.pointnet import PointNetVanillaClassifier
  from tensorflow_graphics.nn.layer.pointnet import VanillaEncoder
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 5 for calling the RandomForwardExecutionTest obj's underlying member method code with example usage: obj.test_vanilla_classifier(input_shape, num_classes, training) without return types