code: def roc_auc_score(gold, probs, ignore_in_gold=[], ignore_in_pred=[]):
      
      gold = arraylike_to_numpy(gold)
  
      # Filter out the ignore_in_gold (but not ignore_in_pred)
      # Note the current sub-functions (below) do not handle this...
      if len(ignore_in_pred) > 0:
          raise ValueError("ignore_in_pred not defined for ROC-AUC score.")
      keep = [x not in ignore_in_gold for x in gold]
      gold = gold[keep]
      probs = probs[keep, :]
  
      # Convert gold to one-hot indicator format, using the k inferred from probs
      gold_s = pred_to_prob(torch.from_numpy(gold), k=probs.shape[1]).numpy()
      return skm.roc_auc_score(gold_s, probs)
docs: Compute the ROC AUC score, given the gold labels and predicted probs.
  
      Args:
          gold: A 1d array-like of gold labels
          probs: A 2d array-like of predicted probabilities
          ignore_in_gold: A list of labels for which elements having that gold
              label will be ignored.
  
      Returns:
          roc_auc_score: The (float) roc_auc score