class_docstr: Abstract class that defines a Heuristic.
  
  Args:
      shuffle_prop (float): shuffle proportion.
      reverse (bool): True if the most uncertain sample has the highest value.
      reduction (Union[str, Callable]): Reduction used after computing the score.
class_docstr_tok: ["Abstract","class","that","defines","a","Heuristic",".","Args",":","shuffle_prop","(","float",")",":","shuffle","proportion",".","reverse","(","bool",")",":","True","if","the","most","uncertain","sample","has","the","highest","value",".","reduction","(","Union","[","str",",","Callable","]",")",":","Reduction","used","after","computing","the","score","."]
docstr: Compute the score according to the heuristic.
  
  Args:
      predictions (ndarray): Array of predictions
  
  Returns:
      Array of scores.
docstr_tok: ["Compute","the","score","according","to","the","heuristic",".","Args",":","predictions","(","ndarray",")",":","Array","of","predictions","Returns",":","Array","of","scores","."]
code: def compute_score(self, predictions):
      """
      Compute the score according to the heuristic.
  
      Args:
          predictions (ndarray): Array of predictions
  
      Returns:
          Array of scores.
      """
      raise NotImplementedError
  
imports: import types
  import warnings
  from collections.abc import Sequence
  from functools import wraps
  from typing import List
  import numpy
  import scipy.stats
  import torch
  from scipy.special import xlogy
  from torch import Tensor
  from baal.utils.array_utils import to_prob
label_desc: Use image node_id 2 for calling the AbstractHeuristic obj's underlying member method code with example usage: obj.compute_score(predictions) without return types