Precision
- class lightning.fabric.plugins.precision.Precision
Bases:
objectBase class for all plugins handling the precision-specific parts of the training.
The class attribute precision must be overwritten in child classes. The default value reflects fp32 training.
- backward(tensor, model, *args, **kwargs)
Performs the actual backpropagation.
- convert_input(data)
Convert model inputs (forward) to the floating point precision type of this plugin.
This is a no-op in the base precision plugin, since we assume the data already has the desired type (default is torch.float32).
- Return type:
- convert_module(module)
Convert the module parameters to the precision type this plugin handles.
This is optional and depends on the precision limitations during optimization.
- Return type:
- convert_output(data)
Convert outputs to the floating point precision type expected after model’s forward.
This is a no-op in the base precision plugin, since we assume the data already has the desired type (default is torch.float32).
- Return type:
- forward_context()
A contextmanager for managing model forward/training_step/evaluation_step/predict_step.
- Return type:
- load_state_dict(state_dict)
Called when loading a checkpoint, implement to reload precision plugin state given precision plugin state_dict.
- main_params(optimizer)
The main params of the model.
Returns the plain model params here. Maybe different in other precision plugins.
- module_init_context()
Instantiate module parameters or tensors in the precision type this plugin handles.
This is optional and depends on the precision limitations during optimization.
- Return type:
- optimizer_step(optimizer, **kwargs)
Hook to run the optimizer step.
- Return type:
- post_backward(tensor, module)
Runs after precision plugin executes backward.
- pre_backward(tensor, module)
Runs before precision plugin executes backward.
- state_dict()
Called when saving a checkpoint, implement to generate precision plugin state_dict.
- teardown()
This method is called to teardown the training process.
It is the right place to release memory and free other resources.
- Return type:
- tensor_init_context()
Controls how tensors get created (device, dtype).
- Return type:
Was this page helpful?
Thanks for the feedback.