code: def test_simple_gradient_multi_input_linear1(self) -> None:
      net = BasicModel_MultiLayer_MultiInput()
      inp1 = torch.tensor([[0.0, 100.0, 0.0]])
      inp2 = torch.tensor([[0.0, 100.0, 0.0]])
      inp3 = torch.tensor([[0.0, 100.0, 0.0]])
      self._gradient_input_test_assert(
          net,
          net.model.linear1,
          (inp1, inp2),
          (0,),
          ([[5.0, 5.0, 5.0]], [[5.0, 5.0, 5.0]]),
          (inp3, 5),
      )
  
imports: import unittest
  from typing import Any, Callable, cast, List, Tuple, Union
  import torch
  from captum._utils.gradient import _forward_layer_eval
  from captum._utils.typing import TensorOrTupleOfTensorsGeneric
  from captum.attr._core.neuron.neuron_gradient import NeuronGradient
  from captum.attr._core.saliency import Saliency
  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 10 for calling the Test obj's underlying member method code with example usage: obj.test_simple_gradient_multi_input_linear1() without return types