ActivationMapGrabber

class hybrid_learning.concepts.models.model_extension.ActivationMapGrabber(model, module_ids=None)[source]

Bases: HooksHandle

Wrapper class to obtain intermediate outputs from models. This is done using the hooking mechanism of torch.nn.Module.

The wrapper adds to the output of a model the intermediate output of specified sub-modules of it. The output of a forward pass then then is as tuple of the form (output_of_wrapped_model, {module_id: intermediate_out_of_sub_module}).

The module ID is the specifier with which the sub-module can be selected from torch.nn.Module.named_modules() of the wrapped model.

The sub-modules can be registered and unregistered. The currently registered sub-modules to obtain intermediate output from and the corresponding hooks are stored in the dictionary hook_handles.

Public Data Attributes:

Inherited from : py: class:HooksHandle

registered_submodules

List of IDs of the registered sub-modules.

Inherited from : py: class:Module

dump_patches

This allows better BC support for load_state_dict().

T_destination

alias of TypeVar('T_destination', bound=Mapping[str, Tensor])

Public Methods:

forward(*inps)

Return tuple of outputs of the wrapped model and of the sub-modules.

stump(module_id)

Provide a ModelStump (in eval mode) which yields act maps of given sub-module.

Inherited from : py: class:HooksHandle

register_submodule(module_id)

Register further submodule of to extract intermediate output from.

unregister_submodule(module_id)

Unregister a submodule for intermediate output retrieval.

get_module_by_id(m_id)

Get actual sub-module object within wrapped model by module ID.

forward(*inps)

Return tuple of outputs of the wrapped model and of the sub-modules.

Inherited from : py: class:Module

forward(*inps)

Return tuple of outputs of the wrapped model and of the sub-modules.

register_buffer(name, tensor[, persistent])

Adds a buffer to the module.

register_parameter(name, param)

Adds a parameter to the module.

add_module(name, module)

Adds a child module to the current module.

get_submodule(target)

Returns the submodule given by target if it exists, otherwise throws an error.

get_parameter(target)

Returns the parameter given by target if it exists, otherwise throws an error.

get_buffer(target)

Returns the buffer given by target if it exists, otherwise throws an error.

apply(fn)

Applies fn recursively to every submodule (as returned by .children()) as well as self.

cuda([device])

Moves all model parameters and buffers to the GPU.

xpu([device])

Moves all model parameters and buffers to the XPU.

cpu()

Moves all model parameters and buffers to the CPU.

type(dst_type)

Casts all parameters and buffers to dst_type.

float()

Casts all floating point parameters and buffers to float datatype.

double()

Casts all floating point parameters and buffers to double datatype.

half()

Casts all floating point parameters and buffers to half datatype.

bfloat16()

Casts all floating point parameters and buffers to bfloat16 datatype.

to_empty(*, device)

Moves the parameters and buffers to the specified device without copying storage.

to(*args, **kwargs)

Moves and/or casts the parameters and buffers.

register_backward_hook(hook)

Registers a backward hook on the module.

register_full_backward_hook(hook)

Registers a backward hook on the module.

register_forward_pre_hook(hook)

Registers a forward pre-hook on the module.

register_forward_hook(hook)

Registers a forward hook on the module.

state_dict([destination, prefix, keep_vars])

Returns a dictionary containing a whole state of the module.

load_state_dict(state_dict[, strict])

Copies parameters and buffers from state_dict into this module and its descendants.

parameters([recurse])

Returns an iterator over module parameters.

named_parameters([prefix, recurse])

Returns an iterator over module parameters, yielding both the name of the parameter as well as the parameter itself.

buffers([recurse])

Returns an iterator over module buffers.

named_buffers([prefix, recurse])

Returns an iterator over module buffers, yielding both the name of the buffer as well as the buffer itself.

children()

Returns an iterator over immediate children modules.

named_children()

Returns an iterator over immediate children modules, yielding both the name of the module as well as the module itself.

modules()

Returns an iterator over all modules in the network.

named_modules([memo, prefix, remove_duplicate])

Returns an iterator over all modules in the network, yielding both the name of the module as well as the module itself.

train([mode])

Sets the module in training mode.

eval()

Sets the module in evaluation mode.

requires_grad_([requires_grad])

Change if autograd should record operations on parameters in this module.

zero_grad([set_to_none])

Sets gradients of all model parameters to zero.

share_memory()

See torch.Tensor.share_memory_()

extra_repr()

Set the extra representation of the module

Special Methods:

__init__(model[, module_ids])

Init.

Inherited from : py: class:HooksHandle

__init__(model[, module_ids])

Init.

__del__()

Unregister all hooks held by this handle on handle delete.

Inherited from : py: class:Module

__init__(model[, module_ids])

Init.

__call__(*input, **kwargs)

Call self as a function.

__setstate__(state)

__getattr__(name)

__setattr__(name, value)

Implement setattr(self, name, value).

__delattr__(name)

Implement delattr(self, name).

__repr__()

Return repr(self).

__dir__()

Default dir() implementation.


Parameters
__init__(model, module_ids=None)[source]

Init.

Parameters
  • model (Module) – the model to wrap

  • module_ids (Optional[Iterable[str]]) –

    the IDs of sub-modules to obtain intermediate output from;

forward(*inps)[source]

Return tuple of outputs of the wrapped model and of the sub-modules.

Parameters

inps (Sequence[Tensor]) –

Return type

Tuple[Any, Dict[str, Any]]

stump(module_id)[source]

Provide a ModelStump (in eval mode) which yields act maps of given sub-module.

Parameters

module_id (str) –

Return type

Callable

training: bool