code: def test_basic_infidelity_multiple_with_batching(self) -> None:
      input1 = torch.tensor([3.0] * 20)
      input2 = torch.tensor([1.0] * 20)
      expected = torch.zeros(20)
  
      infid1 = self.basic_model_assert(
          BasicModel2(),
          (input1, input2),
          expected,
          n_perturb_samples=5,
          max_batch_size=21,
      )
      infid2 = self.basic_model_assert(
          BasicModel2(),
          (input1, input2),
          expected,
          n_perturb_samples=5,
          max_batch_size=60,
      )
      assertTensorAlmostEqual(
          self, infid1, infid2, delta=0.01, mode="max"
      )
  
imports: import typing
  from typing import Any, Callable, cast, List, Tuple, Union
  import torch
  from captum._utils.typing import BaselineType, TargetType, TensorOrTupleOfTensorsGeneric
  from captum.attr import Attribution, DeepLift, FeatureAblation, IntegratedGradients, Saliency
  from captum.metrics import infidelity, infidelity_perturb_func_decorator
  from tests.helpers.basic import assertTensorAlmostEqual, BaseTest
  from tests.helpers.basic_models import BasicModel2, BasicModel4_MultiArgs, BasicModel_ConvNet_One_Conv, BasicModel_MultiLayer
  from torch import Tensor
  from torch.nn import Module
label_desc: Use image node_id 3 for calling the Test obj's underlying member method code with example usage: obj.test_basic_infidelity_multiple_with_batching() without return types