draugr.torch_utilities.optimisation.debugging.layer_fetching.IntermediateLayerGetter¶
- class draugr.torch_utilities.optimisation.debugging.layer_fetching.IntermediateLayerGetter(model: Module, return_layers: Optional[dict] = None)[source]¶
Bases:
object
description
- __init__(model: Module, return_layers: Optional[dict] = None)[source]¶
Wraps a Pytorch module to get intermediate values, eg for getting intermediate activations
Arguments: model {nn.module} – The Pytorch module to call return_layers {dict} – Dictionary with the selected submodules to return the output (format: {[current_module_name]: [desired_output_name]}, current_module_name can be a nested submodule, e.g. submodule1.submodule2.submodule3)
Returns: (mid_outputs {OrderedDict}, model_output {any}) – mid_outputs keys are your desired_output_name (s) and their values are the returned tensors of those submodules (OrderedDict([(desired_output_name,tensor(…)), …).
In case a submodule is called more than one time, all it’s outputs are stored in a list.
Methods
__init__
(model[, return_layers])Wraps a Pytorch module to get intermediate values, eg for getting intermediate activations
reduce_getattr
(obj, attr, *args)# using wonder's beautiful simplification: https://stackoverflow.com/questions/31174295/getattr-and-setattr-on-nested-objects/31174427?noredirect=1#comment86638618_31174427
- static reduce_getattr(obj, attr, *args)[source]¶
# using wonder’s beautiful simplification: https://stackoverflow.com/questions/31174295/getattr-and-setattr-on-nested-objects/31174427?noredirect=1#comment86638618_31174427
- Parameters
obj –
attr –
args –
- Returns
- Return type