code: def test_evaluate_preset(
      self, ground_truth, predictions, expected_iou
  ):
      tensor_shape = random_tensor_shape()
  
      grid_size = np.array(ground_truth).ndim
      ground_truth_labels = np.tile(
          ground_truth, tensor_shape + [1] * grid_size
      )
      predicted_labels = np.tile(
          predictions, tensor_shape + [1] * grid_size
      )
      expected = np.tile(expected_iou, tensor_shape)
  
      result = intersection_over_union.evaluate(
          ground_truth_labels, predicted_labels, grid_size
      )
  
      self.assertAllClose(expected, result)
  
file_path: graphics/tensorflow_graphics/nn/metric/tests/intersection_over_union_test.py
imports: from absl.testing import parameterized
  import numpy
  import tensorflow
  from tensorflow_graphics.nn.metric import intersection_over_union
  from tensorflow_graphics.util import test_case
label_desc: Use image node_id 1 for calling the IntersectionOverUnionTest obj's underlying member method code with example usage: obj.test_evaluate_preset(ground_truth, predictions, expected_iou) without return types