ParametrizationList¶
- class torch.nn.utils.parametrize.ParametrizationList(modules, original, unsafe=False)[source][source]¶
A sequential container that holds and manages the original parameters or buffers of a parametrized
torch.nn.Module
.It is the type of
module.parametrizations[tensor_name]
whenmodule[tensor_name]
has been parametrized withregister_parametrization()
.If the first registered parametrization has a
right_inverse
that returns one tensor or does not have aright_inverse
(in which case we assume thatright_inverse
is the identity), it will hold the tensor under the nameoriginal
. If it has aright_inverse
that returns more than one tensor, these will be registered asoriginal0
,original1
, …Warning
This class is used internally by
register_parametrization()
. It is documented here for completeness. It shall not be instantiated by the user.- Parameters
modules (sequence) – sequence of modules representing the parametrizations
original (Parameter or Tensor) – parameter or buffer that is parametrized
unsafe (bool) – a boolean flag that denotes whether the parametrization may change the dtype and shape of the tensor. Default: False Warning: the parametrization is not checked for consistency upon registration. Enable this flag at your own risk.
- right_inverse(value)[source][source]¶
Call the
right_inverse
methods of the parametrizations in the inverse registration order.Then, it stores the result in
self.original
ifright_inverse
outputs one tensor or inself.original0
,self.original1
, … if it outputs several.- Parameters
value (Tensor) – Value to which initialize the module