code: def _ig_matching_test_assert(
      self,
      model: Module,
      output_layer: Module,
      test_input: Tensor,
      baseline: Union[None, Tensor] = None,
  ) -> None:
      out = model(test_input)
      input_attrib = IntegratedGradients(model)
      ig_attrib = NeuronIntegratedGradients(model, output_layer)
      for i in range(out.shape[1]):
          ig_vals = input_attrib.attribute(
              test_input, target=i, baselines=baseline
          )
          neuron_ig_vals = ig_attrib.attribute(
              test_input, (i,), baselines=baseline
          )
          assertTensorAlmostEqual(
              self, ig_vals, neuron_ig_vals, delta=0.001, mode="max"
          )
          self.assertEqual(neuron_ig_vals.shape, test_input.shape)
  
imports: import unittest
  from typing import Any, Callable, Tuple, Union
  import torch
  from captum._utils.typing import TensorLikeList, TensorOrTupleOfTensorsGeneric
  from captum.attr._core.integrated_gradients import IntegratedGradients
  from captum.attr._core.neuron.neuron_integrated_gradients import NeuronIntegratedGradients
  from tests.helpers.basic import assertTensorAlmostEqual, assertTensorTuplesAlmostEqual, BaseTest
  from tests.helpers.basic_models import BasicModel_ConvNet, BasicModel_MultiLayer, BasicModel_MultiLayer_MultiInput
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 14 for calling the Test obj's underlying member method code with example usage: obj._ig_matching_test_assert(model, output_layer, test_input, baseline) without return types