class_docstr: Integrated the analysis along a path
  
  This analyzer:
  * creates a path from input to reference image.
  * creates `steps` number of intermediate inputs and
    creates an analysis for them.
  * sums the analyses and multiplies them with the input-reference_input.
  
  This wrapper is used to implement Integrated Gradients.
  We refer to the paper for further information.
  
  :param subanalyzer: The analyzer to be wrapped.
  :param steps: Number of steps for integration.
  :param reference_inputs: The reference input.
code: def _compute_difference(self, Xs: list[Tensor]) -> list[Tensor]:
      if self._keras_constant_inputs is None:
          inputs = ibackend.broadcast_np_tensors_to_keras_tensors(
              self._reference_inputs, Xs
          )
          self._keras_set_constant_inputs(inputs)
  
      # Type not Optional anymore as as `_keras_set_constant_inputs` has been called.
      reference_inputs: list[Tensor]
      reference_inputs = self._keras_get_constant_inputs()  # type: ignore
      return [
          klayers.subtract([x, ri])
          for x, ri in zip(Xs, reference_inputs)
      ]
  
imports: from __future__ import annotations
  import numpy
  import tensorflow.keras.backend
  import tensorflow.keras.layers
  import tensorflow.keras.models
  import innvestigate.backend
  import innvestigate.layers
  from innvestigate.analyzer.base import AnalyzerBase
  from innvestigate.analyzer.network_base import AnalyzerNetworkBase
  from innvestigate.backend.types import OptionalList, Tensor
label_desc: Use image node_id 4 for calling the PathIntegrator obj's underlying member method code with example usage: obj._compute_difference(Xs) and returns: unknown