code: def _occlusion_test_assert(
      self,
      model: Callable,
      test_input: TensorOrTupleOfTensorsGeneric,
      expected_ablation: Union[
          float,
          TensorLikeList,
          Tuple[TensorLikeList, ...],
          Tuple[Tensor, ...],
      ],
      sliding_window_shapes: Union[
          Tuple[int, ...], Tuple[Tuple[int, ...], ...]
      ],
      target: TargetType = 0,
      additional_input: Any = None,
      perturbations_per_eval: Tuple[int, ...] = (1,),
      baselines: BaselineType = None,
      strides: Union[
          None, int, Tuple[Union[int, Tuple[int, ...]], ...]
      ] = None,
      show_progress: bool = False,
  ) -> None:
      for batch_size in perturbations_per_eval:
          ablation = Occlusion(model)
          attributions = ablation.attribute(
              test_input,
              sliding_window_shapes=sliding_window_shapes,
              target=target,
              additional_forward_args=additional_input,
              baselines=baselines,
              perturbations_per_eval=batch_size,
              strides=strides,
              show_progress=show_progress,
          )
          if isinstance(expected_ablation, tuple):
              for i in range(len(expected_ablation)):
                  assertTensorAlmostEqual(
                      self,
                      attributions[i],
                      expected_ablation[i],
                  )
          else:
              assertTensorAlmostEqual(
                  self,
                  attributions,
                  expected_ablation,
              )
  
imports: import io
  import unittest
  import unittest.mock
  from typing import Any, Callable, Tuple, Union
  import torch
  from captum._utils.typing import BaselineType, TargetType, TensorLikeList, TensorOrTupleOfTensorsGeneric
  from captum.attr._core.occlusion import Occlusion
  from tests.helpers.basic import assertTensorAlmostEqual, BaseTest
  from tests.helpers.basic_models import BasicModel3, BasicModel_ConvNet_One_Conv, BasicModel_MultiLayer, BasicModel_MultiLayer_MultiInput
  from torch import Tensor
label_desc: Use image node_id 16 for calling the Test obj's underlying member method code with example usage: obj._occlusion_test_assert(model, test_input, expected_ablation, sliding_window_shapes, target, additional_input, perturbations_per_eval, baselines, strides, show_progress) without return types