code: def roc_curve(
      tag,
      labels,
      predictions,
      step,
      walltime,
      num_thresholds=127,
      weights=None,
  ):
      """Package data to one roc_curve.
      Args:
          tag (string): Data identifier
          labels (numpy.ndarray or list): Binary labels for each element.
          predictions (numpy.ndarray or list): The probability that an element be
              classified as true.
          step (int): Step of pr_curve
          walltime (int): Wall time of pr_curve
          num_thresholds (int): Number of thresholds used to draw the curve.
          weights (float): Multiple of data to display on the curve.
      Return:
          Package with format of record_pb2.Record
      """
      num_thresholds = min(num_thresholds, 127)
      roc_curve_map = compute_roc_curve(
          labels, predictions, num_thresholds, weights
      )
  
      return roc_curve_raw(
          tag=tag,
          tp=roc_curve_map["tp"],
          fp=roc_curve_map["fp"],
          tn=roc_curve_map["tn"],
          fn=roc_curve_map["fn"],
          tpr=roc_curve_map["tpr"],
          fpr=roc_curve_map["fpr"],
          step=step,
          walltime=walltime,
      )
  
imports: import numpy
  from PIL import Image
  from visualdl.proto.record_pb2 import Record
label_desc: Use image node_id 18 for calling a global function with example usage: roc_curve(tag, labels, predictions, step, walltime, num_thresholds, weights) and returns: roc_curve_raw