class_docstr: `InfluenceFunctionBase` is a base class for implementations which compute the
  influence score as defined in the paper "Understanding Black-box Predictions via
  Influence Functions" (https://arxiv.org/pdf/1703.04730.pdf). This "infinitesimal"
  influence score approximately answers the question if a given training example
  were infinitesimally down-weighted and the model re-trained to optimality, how much
  would the loss on a given test example change. Mathematically, the aforementioned
  influence score is given by :math`\nabla_\theta L(x)' H^{-1} \nabla_\theta L(z)`,
  where :math`\nabla_\theta L(x)` is the gradient of the loss, considering only
  training example :math`x` with respect to (a subset of) model parameters
  :math`\theta`, :math`\nabla_\theta L(z)` is the analogous quantity for a test
  example :math`z`, and :math`H` is the Hessian of the (subset of) model parameters
  at a given model checkpoint. "Subset of model parameters" refers to the parameters
  specified by the `layers` initialization argument; for computational purposes,
  we may only consider the gradients / Hessian involving parameters in a subset of
  the model's layers. This is a commonly-taken approach in the research literature.
  
  There can be multiple implementations of this class, because although the paper
  defines a particular "infinitesimal" kind of influence score, there can be multiple
  ways to compute it, each with different levels of accuracy / scalability.
docstr: Args:
  
      inputs (tuple[Any, ...]): A batch of examples. Does not represent labels,
              which are passed as `targets`. The assumption is that
              `model(*inputs)` produces the predictions for the batch.
      targets (Tensor, optional): If computing influence scores on a loss
              function, these are the labels corresponding to the batch
              `inputs`.
              Default: None
  
  Returns:
      influence_scores (Tensor): Influence scores over the entire
              training dataset `train_dataset`. Dimensionality is
              (inputs_batch_size, src_dataset_size). For example:
              influence_scores[i][j] = the influence score for the j-th training
              example to the i-th input example.
docstr_tok: ["Args",":","inputs","(","tuple","[","Any",",","...","]",")",":","A","batch","of","examples",".","Does","not","represent","labels",",","which","are","passed","as","`","targets","`",".","The","assumption","is","that","`","model","(","*","inputs",")","`","produces","the","predictions","for","the","batch",".","targets","(","Tensor",",","optional",")",":","If","computing","influence","scores","on","a","loss","function",",","these","are","the","labels","corresponding","to","the","batch","`","inputs","`",".","Default",":","None","Returns",":","influence_scores","(","Tensor",")",":","Influence","scores","over","the","entire","training","dataset","`","train_dataset","`",".","Dimensionality","is","(","inputs_batch_size",",","src_dataset_size",")",".","For","example",":","influence_scores","[","i","]","[","j","]","=","the","influence","score","for","the","j-th","training","example","to","the","i-th","input","example","."]
code: def _influence(
      self,
      inputs: Union[Tuple[Any, ...], DataLoader],
      show_progress: bool = False,
  ) -> Tensor:
      r"""
      Args:
  
          inputs (tuple[Any, ...]): A batch of examples. Does not represent labels,
                  which are passed as `targets`. The assumption is that
                  `model(*inputs)` produces the predictions for the batch.
          targets (Tensor, optional): If computing influence scores on a loss
                  function, these are the labels corresponding to the batch
                  `inputs`.
                  Default: None
  
      Returns:
          influence_scores (Tensor): Influence scores over the entire
                  training dataset `train_dataset`. Dimensionality is
                  (inputs_batch_size, src_dataset_size). For example:
                  influence_scores[i][j] = the influence score for the j-th training
                  example to the i-th input example.
      """
      pass
  
imports: import functools
  from abc import abstractmethod
  from operator import add
  from typing import Any, Callable, List, Optional, Tuple, Union
  import torch
  import torch.nn
  from captum._utils.gradient import _extract_parameters_from_layers
  from captum.influence._core.influence import DataInfluence
  from captum.influence._utils.common import _check_loss_fn, _compute_batch_loss_influence_function_base, _compute_jacobian_sample_wise_grads_per_batch, _dataset_fn, _flatten_params, _format_inputs_dataset, _functional_call, _get_k_most_influential_helper, _influence_batch_intermediate_quantities_influence_function, _influence_helper_intermediate_quantities_influence_function, _influence_route_to_helpers, _load_flexible_state_dict, _params_to_names, _progress_bar_constructor, _self_influence_helper_intermediate_quantities_influence_function, _set_active_parameters, _top_eigen, _unflatten_params_factory, KMostInfluentialResults
  from captum.log import log_usage
  from torch import Tensor
  from torch.nn import Module
  from torch.utils.data import DataLoader, Dataset
  from tqdm import tqdm
label_desc: Use image node_id 4 for calling the InfluenceFunctionBase obj's underlying member method code with example usage: obj._influence(inputs, show_progress) without return types