tdhook.attribution.guided_backpropagation#

Classes#

GuidedBackpropagation

Guided backpropagation [11].

Module Contents#

class tdhook.attribution.guided_backpropagation.GuidedBackpropagation(use_inputs=True, use_outputs=True, input_modules=None, target_modules=None, init_attr_targets=None, init_attr_inputs=None, init_attr_cache_in=None, init_attr_grads=None, additional_init_keys=None, output_grad_callbacks=None, attribution_key='attr', clean_intermediate_keys=True, cache_callback=None, multiply_by_inputs=False, classes_to_skip=())[source]#

Bases: tdhook.attribution.gradient_helpers.GradientAttribution

Guided backpropagation [11].

Parameters:
  • use_inputs (bool)

  • use_outputs (bool)

  • input_modules (Optional[List[str]])

  • target_modules (Optional[List[str]])

  • init_attr_targets (Optional[Callable[[tensordict.TensorDict, tensordict.TensorDict], tensordict.TensorDict]])

  • init_attr_inputs (Optional[Callable[[tensordict.TensorDict, tensordict.TensorDict], tensordict.TensorDict]])

  • init_attr_cache_in (Optional[Callable[[tensordict.TensorDict, tensordict.TensorDict], tensordict.TensorDict]])

  • init_attr_grads (Optional[Callable[[tensordict.TensorDict, tensordict.TensorDict], tensordict.TensorDict]])

  • additional_init_keys (Optional[List[tdhook._types.UnraveledKey]])

  • output_grad_callbacks (Optional[Dict[str, Callable]])

  • attribution_key (tdhook._types.UnraveledKey)

  • clean_intermediate_keys (bool)

  • cache_callback (Optional[Callable])

  • multiply_by_inputs (bool)

  • classes_to_skip (Tuple[Type[torch.nn.Module], Ellipsis])

_hook_manager[source]#
_multiply_by_inputs = False[source]#
_hook_module(module)[source]#
Parameters:

module (tdhook.modules.HookedModule)

Return type:

tdhook.hooks.MultiHookHandle

_grad_attr(grads, inputs)[source]#
Parameters:
  • grads (tensordict.TensorDict)

  • inputs (tensordict.TensorDict)