code: def _multi_input_batch_scalar_shapley_assert(
      self, func: Callable
  ) -> None:
      inp1 = torch.tensor([[23.0, 100.0, 0.0], [20.0, 50.0, 30.0]])
      inp2 = torch.tensor([[20.0, 50.0, 30.0], [0.0, 100.0, 0.0]])
      inp3 = torch.tensor([[0.0, 100.0, 10.0], [20.0, 10.0, 13.0]])
      mask1 = torch.tensor([[1, 1, 1]])
      mask2 = torch.tensor([[0, 1, 2]])
      mask3 = torch.tensor([[0, 1, 2]])
      expected = (
          [[3850.6666, 3850.6666, 3850.6666]],
          [[306.6666, 3850.6666, 410.6666]],
          [[306.6666, 3850.6666, 410.6666]],
      )
  
      self._shapley_test_assert(
          func,
          (inp1, inp2, inp3),
          expected,
          additional_input=(1,),
          feature_mask=(mask1, mask2, mask3),
          perturbations_per_eval=(1,),
          target=None,
          n_samples=3500,
          delta=1.2,
      )
  
imports: import io
  import unittest
  import unittest.mock
  from typing import Any, Callable, Tuple, Union
  import torch
  from captum._utils.typing import BaselineType, TensorOrTupleOfTensorsGeneric
  from captum.attr._core.shapley_value import ShapleyValues, ShapleyValueSampling
  from tests.helpers.basic import assertTensorTuplesAlmostEqual, BaseTest
  from tests.helpers.basic_models import BasicModel_MultiLayer, BasicModel_MultiLayer_MultiInput, BasicModelBoolInput
label_desc: Use image node_id 33 for calling the Test obj's underlying member method code with example usage: obj._multi_input_batch_scalar_shapley_assert(func) without return types