tdhook.attribution.grad_cam#

Classes#

DimsConfig

GradCAM

Grad-CAM [10].

Module Contents#

class tdhook.attribution.grad_cam.DimsConfig[source]#
weight_pooling_dims: Tuple[int, Ellipsis] | None = None[source]#
feature_sum_dims: Tuple[int, Ellipsis] | None = None[source]#
class tdhook.attribution.grad_cam.GradCAM(modules_to_attribute, 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, absolute=False)[source]#

Bases: tdhook.attribution.gradient_helpers.GradientAttribution

Grad-CAM [10].

Parameters:
  • modules_to_attribute (Optional[Dict[str, DimsConfig]])

  • 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])

  • absolute (bool)

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

  • inputs (tensordict.TensorDict)

Return type:

tensordict.TensorDict