code: def test_evaluate_preset_multiclass(
      self,
      ground_truth,
      predictions,
      classes,
      reduce_average,
      expected_precision,
  ):
      tensor_shape = random_tensor_shape()
  
      ground_truth_labels = np.tile(ground_truth, tensor_shape + [1])
      predicted_labels = np.tile(predictions, tensor_shape + [1])
      expected = np.tile(
          expected_precision,
          tensor_shape + ([1] if not reduce_average else []),
      )
  
      result = precision.evaluate(
          ground_truth_labels, predicted_labels, classes, reduce_average
      )
  
      self.assertAllClose(expected, result)
  
file_path: graphics/tensorflow_graphics/nn/metric/tests/precision_test.py
imports: from absl.testing import parameterized
  import numpy
  from tensorflow_graphics.nn.metric import precision
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 2 for calling the PrecisionTest obj's underlying member method code with example usage: obj.test_evaluate_preset_multiclass(ground_truth, predictions, classes, reduce_average, expected_precision) without return types