class_docstr: A wrapper object that turns a `DistributedExplainer` into a remote actor. This allows running multiple distributed
  explainers in parallel.
class_docstr_tok: ["A","wrapper","object","that","turns","a","`","DistributedExplainer","`","into","a","remote","actor",".","This","allows","running","multiple","distributed","explainers","in","parallel","."]
docstr: Calls a collection of distributed explainers in parallel. Each distributed explainer will explain each row in
  `X` in parallel.
  
  Parameters
  ----------
  X
      Batch of instances to be explained.
  
  Returns
  -------
  A list of responses collected from each explainer.
  
  Notes
  -----
  Note that the call to `ray.get` is blocking.
  
  Raises
  ------
  TypeError
      If the user sets ``return_generator=True`` for the DistributedExplainer. This is because generators
      cannot be pickled so one cannot call `ray.get`.
code: def get_explanation(self, X, **kwargs) -> List:
      """
      Calls a collection of distributed explainers in parallel. Each distributed explainer will explain each row in
      `X` in parallel.
  
      Parameters
      ----------
      X
          Batch of instances to be explained.
  
      Returns
      -------
      A list of responses collected from each explainer.
  
      Notes
      -----
      Note that the call to `ray.get` is blocking.
  
      Raises
      ------
      TypeError
          If the user sets ``return_generator=True`` for the DistributedExplainer. This is because generators
          cannot be pickled so one cannot call `ray.get`.
  
      """
  
      return ray.get(
          [
              explainer.get_explanation.remote(X, **kwargs)
              for explainer in self.distributed_explainers
          ]
      )
  
imports: import copy
  import logging
  from functools import partial
  from typing import Any, Callable, Dict, Generator, List, Optional, Tuple, Union
  import numpy
  from scipy import sparse
  import ray
label_desc: Use image node_id 7 for calling the PoolCollection obj's underlying member method code with example usage: obj.get_explanation(X) and returns: ray