def _internal_influence_test_assert(
     self,
     model: Module,
     target_layer: Module,
     test_input: Union[Tensor, Tuple[Tensor, ...]],
     expected_activation: Union[float, List[List[float]],
                                Tuple[List[List[float]], ...]],
     baseline: BaselineType = None,
     additional_args: Any = None,
     attribute_to_layer_input: bool = False,
 ):
     for internal_batch_size in [None, 5, 20]:
         int_inf = InternalInfluence(model, target_layer)
         attributions = int_inf.attribute(
             test_input,
             baselines=baseline,
             target=0,
             n_steps=500,
             method="riemann_trapezoid",
             additional_forward_args=additional_args,
             internal_batch_size=internal_batch_size,
             attribute_to_layer_input=attribute_to_layer_input,
         )
         assertTensorTuplesAlmostEqual(self,
                                       attributions,
                                       expected_activation,
                                       delta=0.01,
                                       mode="max")
Пример #2
0
 def _internal_influence_test_assert(
     self,
     model,
     target_layer,
     test_input,
     expected_activation,
     baseline=None,
     additional_args=None,
     attribute_to_layer_input=False,
 ):
     for internal_batch_size in [None, 1, 20]:
         int_inf = InternalInfluence(model, target_layer)
         attributions = int_inf.attribute(
             test_input,
             baselines=baseline,
             target=0,
             n_steps=500,
             method="riemann_trapezoid",
             additional_forward_args=additional_args,
             internal_batch_size=internal_batch_size,
             attribute_to_layer_input=attribute_to_layer_input,
         )
         assertTensorTuplesAlmostEqual(
             self,
             attributions,
             expected_activation,
             delta=0.01,
             mode="max",
         )
Пример #3
0
 def _internal_influence_test_assert(
     self,
     model,
     target_layer,
     test_input,
     expected_activation,
     baseline=None,
     additional_args=None,
     attribute_to_layer_input=False,
 ):
     for internal_batch_size in [None, 1, 20]:
         int_inf = InternalInfluence(model, target_layer)
         attributions = int_inf.attribute(
             test_input,
             baselines=baseline,
             target=0,
             n_steps=500,
             method="riemann_trapezoid",
             additional_forward_args=additional_args,
             internal_batch_size=internal_batch_size,
             attribute_to_layer_input=attribute_to_layer_input,
         )
         for i in range(len(expected_activation)):
             assertArraysAlmostEqual(
                 attributions[i:i + 1].squeeze(0).tolist(),
                 expected_activation[i],
                 delta=0.01,
             )