code: def pr_curve_raw(
      tag, tp, fp, tn, fn, precision, recall, step, walltime
  ):
      """Package raw data to one pr_curve.
  
      Args:
          tag (string): Data identifier
          tp (list): True Positive.
          fp (list): False Positive.
          tn (list): True Negative.
          fn (list): False Negative.
          precision (list): The fraction of retrieved documents that are relevant
              to the query:
          recall (list): The fraction of the relevant documents that are
              successfully retrieved.
          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
      """
      """
      if isinstance(tp, np.ndarray):
          tp = tp.astype(int).tolist()
      if isinstance(fp, np.ndarray):
          fp = fp.astype(int).tolist()
      if isinstance(tn, np.ndarray):
          tn = tn.astype(int).tolist()
      if isinstance(fn, np.ndarray):
          fn = fn.astype(int).tolist()
      if isinstance(precision, np.ndarray):
          precision = precision.astype(int).tolist()
      if isinstance(recall, np.ndarray):
          recall = recall.astype(int).tolist()
      """
      prcurve = Record.PRCurve(
          TP=tp, FP=fp, TN=tn, FN=fn, precision=precision, recall=recall
      )
      return Record(
          values=[
              Record.Value(
                  id=step, tag=tag, timestamp=walltime, pr_curve=prcurve
              )
          ]
      )
  
imports: import numpy
  from PIL import Image
  from visualdl.proto.record_pb2 import Record
label_desc: Use image node_id 16 for calling a global function with example usage: pr_curve_raw(tag, tp, fp, tn, fn, precision, recall, step, walltime) and returns: Record