class_docstr: Implementation of the Efficient MPRT by Hedström et al., 2023.
  
  The Efficient MPRT measures replaces the layer-by-layer pairwise comparison
  between e and ˆe of MPRT by instead computing the relative rise in explanation complexity using only
  two model states, i.e., the original- and fully randomised model version
  
  References:
      1) Hedström, Anna, et al. "Sanity Checks Revisited: An Exploration to Repair the Model Parameter
      Randomisation Test." XAI in Action: Past, Present, and Future Applications. 2023.
  
  Attributes:
      -  _name: The name of the metric.
      - _data_applicability: The data types that the metric implementation currently supports.
      - _models: The model types that this metric can work with.
      - score_direction: How to interpret the scores, whether higher/ lower values are considered better.
      - evaluation_category: What property/ explanation quality that this metric measures.
class_docstr_tok: ["Implementation","of","the","Efficient","MPRT","by","Hedstr\u00f6m","et","al.",",","2023",".","The","Efficient","MPRT","measures","replaces","the","layer-by-layer","pairwise","comparison","between","e","and","\u02c6e","of","MPRT","by","instead","computing","the","relative","rise","in","explanation","complexity","using","only","two","model","states",",","i.e.",",","the","original-","and","fully","randomised","model","version","References",":","1",")","Hedstr\u00f6m",",","Anna",",","et","al",".","``","Sanity","Checks","Revisited",":","An","Exploration","to","Repair","the","Model","Parameter","Randomisation","Test",".","''","XAI","in","Action",":","Past",",","Present",",","and","Future","Applications",".","2023",".","Attributes",":","-","_name",":","The","name","of","the","metric",".","-","_data_applicability",":","The","data","types","that","the","metric","implementation","currently","supports",".","-","_models",":","The","model","types","that","this","metric","can","work","with",".","-","score_direction",":","How","to","interpret","the","scores",",","whether","higher\/","lower","values","are","considered","better",".","-","evaluation_category",":","What","property\/","explanation","quality","that","this","metric","measures","."]
code: def evaluate_batch(self, *args, **kwargs):
      raise RuntimeError(
          "`evaluate_batch` must never be called for `Model Parameter Randomisation Test`."
      )
  
imports: import sys
  from typing import Any, Callable, Collection, Dict, List, Optional, Union, Tuple, Generator, Iterable
  import numpy
  from tqdm.auto import tqdm
  from sklearn.utils import gen_batches
  from quantus.functions.similarity_func import correlation_spearman
  from quantus.functions.complexity_func import discrete_entropy, entropy
  from quantus.functions.normalise_func import normalise_by_average_second_moment_estimate
  from quantus.functions import n_bins_func
  from quantus.helpers import asserts, warn, utils
  from quantus.helpers.enums import DataType, EvaluationCategory, ModelType, ScoreDirection
  from quantus.helpers.model.model_interface import ModelInterface
  from quantus.metrics.base import Metric
label_desc: Use image node_id 7 for calling the EfficientMPRT obj's underlying member method code with example usage: obj.evaluate_batch() without return types