class torch.nn.utils.parametrize.ParametrizationList(modules, original, unsafe=False)[source]

A sequential container that holds and manages the original or original0, original1, … parameters or buffers of a parametrized torch.nn.Module.

It is the type of module.parametrizations[tensor_name] when module[tensor_name] has been parametrized with register_parametrization().

If the first registered parmetrization has a right_inverse that returns one tensor or does not have a right_inverse (in which case we assume that right_inverse is the identity), it will hold the tensor under the name original. If it has a right_inverse that returns more than one tensor, these will be registered as original0, original1, …


This class is used internally by register_parametrization(). It is documented here for completeness. It shall not be instantiated by the user.

  • 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.


Calls the methods right_inverse (see register_parametrization()) of the parametrizations in the inverse order they were registered in. Then, it stores the result in self.original if right_inverse outputs one tensor or in self.original0, self.original1, … if it outputs several.


value (Tensor) – Value to which initialize the module


Access comprehensive developer documentation for PyTorch

View Docs


Get in-depth tutorials for beginners and advanced developers

View Tutorials


Find development resources and get your questions answered

View Resources