code: def expected_input_format(self):
      desc = "==== Expected input format of Evaluator for {}\n".format(
          self.name
      )
      if self.eval_metric == "rocauc":
          desc += "{'y_true': y_true, 'y_pred': y_pred}\n"
          desc += "- y_true: numpy ndarray or torch tensor of shape (num_nodes num_tasks)\n"
          desc += "- y_pred: numpy ndarray or torch tensor of shape (num_nodes num_tasks)\n"
          desc += "where y_pred stores score values (for computing ROC-AUC),\n"
          desc += "num_task is {}, and ".format(self.num_tasks)
          desc += "each row corresponds to one node.\n"
      elif self.eval_metric == "acc":
          desc += "{'y_true': y_true, 'y_pred': y_pred}\n"
          desc += "- y_true: numpy ndarray or torch tensor of shape (num_nodes num_tasks)\n"
          desc += "- y_pred: numpy ndarray or torch tensor of shape (num_nodes num_tasks)\n"
          desc += (
              "where y_pred stores predicted class label (integer),\n"
          )
          desc += "num_task is {}, and ".format(self.num_tasks)
          desc += "each row corresponds to one node.\n"
      else:
          raise ValueError(
              "Undefined eval metric %s " % (self.eval_metric)
          )
  
      return desc
  
file_path: ogb/ogb/nodeproppred/evaluate.py
imports: import os
  import numpy
  import pandas
  from sklearn.metrics import roc_auc_score
label_desc: Use image node_id 4 for calling the Evaluator obj's underlying member method code with example usage: obj.expected_input_format() and returns: desc