code: def test_basic_infidelity_multiple_with_normalize(self) -> None:
      input1 = torch.tensor([3.0] * 3)
      input2 = torch.tensor([1.0] * 3)
      inputs = (input1, input2)
      expected = torch.zeros(3)
  
      model = BasicModel2()
      ig = IntegratedGradients(model)
      attrs = ig.attribute(inputs)
      scaled_attrs = tuple(attr * 100 for attr in attrs)
  
      infid = self.infidelity_assert(
          model, attrs, inputs, expected, normalize=True
      )
      scaled_infid = self.infidelity_assert(
          model,
          scaled_attrs,
          inputs,
          expected,
          normalize=True,
      )
  
      # scaling attr should not change normalized infidelity
      assertTensorAlmostEqual(self, infid, scaled_infid)
  
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 8 for calling the Test obj's underlying member method code with example usage: obj.test_basic_infidelity_multiple_with_normalize() without return types