code: def test_minimal_pert_basic_linear(self) -> None:
      model = BasicModel()
      inp = torch.tensor([[2.0, -9.0, 9.0, 1.0, -3.0]])
      minimal_pert = MinParamPerturbation(
          forward_func=lambda x: model(x)
          + torch.tensor([[0.000001, 0.0, 0.0, 0.0, 0.0]]),
          attack=inp_subtract,
          arg_name="add_arg",
          arg_min=0.0,
          arg_max=1000.0,
          arg_step=1.0,
      )
      target_inp, pert = minimal_pert.evaluate(
          inp, target=0, attack_kwargs={"ind": 0}
      )
      self.assertAlmostEqual(cast(float, pert), 2.0)
      assertTensorAlmostEqual(
          self, target_inp, torch.tensor([[0.0, -9.0, 9.0, 1.0, -3.0]])
      )
  
file_path: captum/tests/robust/test_min_param_perturbation.py
imports: from typing import cast, List
  import torch
  from captum.robust import MinParamPerturbation
  from tests.helpers.basic import assertTensorAlmostEqual, BaseTest
  from tests.helpers.basic_models import BasicModel, BasicModel_MultiLayer
  from torch import Tensor
label_desc: Use image node_id 1 for calling the Test obj's underlying member method code with example usage: obj.test_minimal_pert_basic_linear() without return types