code: def test_predictions_at_thresholds(self):
      num_thresholds = 5
      # For 5 thresholds, we expect the thresholds used to be:
      # [0.0, 0.25, 0.5, 0.75, 1.0]
      pb = self.compute_and_check_summary_pb(
          name="foo",
          labels=np.array([True] * num_thresholds),
          predictions=np.float32([0.0, 0.25, 0.5, 0.75, 1.0]),
          num_thresholds=num_thresholds,
      )
      expected = [
          [5.0, 4.0, 3.0, 2.0, 1.0],  # TP
          [0.0, 0.0, 0.0, 0.0, 0.0],  # FP
          [0.0, 0.0, 0.0, 0.0, 0.0],  # TN
          [0.0, 1.0, 2.0, 3.0, 4.0],  # FN
          [1.0, 1.0, 1.0, 1.0, 1.0],  # Precision
          [1.0, 0.8, 0.6, 0.4, 0.2],  # Recall
      ]
      values = tensor_util.make_ndarray(pb.value[0].tensor)
      self.verify_float_arrays_are_equal(expected, values)
  
imports: import numpy
  import tensorflow
  from tensorboard.compat.proto import summary_pb2
  from tensorboard.plugins.pr_curve import metadata
  from tensorboard.plugins.pr_curve import summary
  from tensorboard.util import tensor_util
  from tensorboard.util import test_util
label_desc: Use image node_id 15 for calling the PrCurveTest obj's underlying member method code with example usage: obj.test_predictions_at_thresholds() without return types