code: def _ig_input_test_assert(
      self,
      model: Module,
      target_layer: Module,
      test_input: TensorOrTupleOfTensorsGeneric,
      test_neuron: Union[int, Tuple[Union[int, slice], ...], Callable],
      expected_input_ig: Union[
          TensorLikeList, Tuple[TensorLikeList, ...]
      ],
      additional_input: Any = None,
      multiply_by_inputs: bool = True,
  ) -> None:
      for internal_batch_size in [None, 5, 20]:
          grad = NeuronIntegratedGradients(
              model, target_layer, multiply_by_inputs=multiply_by_inputs
          )
          self.assertEqual(
              grad.multiplies_by_inputs, multiply_by_inputs
          )
          attributions = grad.attribute(
              test_input,
              test_neuron,
              n_steps=200,
              method="gausslegendre",
              additional_forward_args=additional_input,
              internal_batch_size=internal_batch_size,
          )
          assertTensorTuplesAlmostEqual(
              self, attributions, expected_input_ig, delta=0.1
          )
  
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 13 for calling the Test obj's underlying member method code with example usage: obj._ig_input_test_assert(model, target_layer, test_input, test_neuron, expected_input_ig, additional_input, multiply_by_inputs) without return types