TPUSpawnPlugin¶
- class pytorch_lightning.plugins.training_type.TPUSpawnPlugin(parallel_devices=None, checkpoint_io=None, debug=False, **_)[source]¶
Bases:
pytorch_lightning.plugins.training_type.ddp_spawn.DDPSpawnPlugin
Plugin for training multiple TPU devices using the
torch.multiprocessing.spawn()
method.- all_gather(tensor, group=None, sync_grads=False)[source]¶
Function to gather a tensor from several distributed processes :type _sphinx_paramlinks_pytorch_lightning.plugins.training_type.TPUSpawnPlugin.all_gather.tensor:
Tensor
:param _sphinx_paramlinks_pytorch_lightning.plugins.training_type.TPUSpawnPlugin.all_gather.tensor: tensor of shape (batch, …) :type _sphinx_paramlinks_pytorch_lightning.plugins.training_type.TPUSpawnPlugin.all_gather.group:Optional
[Any
] :param _sphinx_paramlinks_pytorch_lightning.plugins.training_type.TPUSpawnPlugin.all_gather.group: not available with TPUs :type _sphinx_paramlinks_pytorch_lightning.plugins.training_type.TPUSpawnPlugin.all_gather.sync_grads:bool
:param _sphinx_paramlinks_pytorch_lightning.plugins.training_type.TPUSpawnPlugin.all_gather.sync_grads: not available with TPUs- Return type
- Returns
A tensor of shape (world_size, batch, …)
- barrier(name=None)[source]¶
Synchronizes all processes which blocks processes until the whole group enters this function.
- connect(model)[source]¶
Called by the accelerator to connect the accelerator and the model with this plugin.
- Return type
- process_dataloader(dataloader)[source]¶
Wraps the dataloader if necessary.
- Parameters
dataloader¶ (
DataLoader
) – iterable. Ideally of type:torch.utils.data.DataLoader
- Return type
- reduce(output, group=None, reduce_op=None)[source]¶
Reduces a tensor from several distributed processes to one aggregated tensor.
- Parameters
- Returns
reduced value, except when the input was not a tensor the output remains is unchanged
- reduce_boolean_decision(decision)[source]¶
Reduce the early stopping decision across all processes.
- Return type
- save_checkpoint(checkpoint, filepath)[source]¶
Save model/training states as a checkpoint file through state-dump and file-write.
- spawn(function, *args, return_result=True, **kwargs)[source]¶
Spawn processes that run the given function.
- Parameters
function¶ (
Callable
) – The function to spawn processes from.*args¶ (
Any
) – Optional positional arguments that will be passed to the function in addition to the process index. These arguments must be pickleable.return_result¶ (
bool
) – IfTrue
, copies the output of the function from process 0 to the main process and returns it.**kwargs¶ (
Any
) – Optional named arguments that will be passed to the function in addition to the process index. These arguments must be pickleable.
- Return type
- Returns
The output of the function of process 0.
- teardown()[source]¶
This method is called to teardown the training process.
It is the right place to release memory and free other resources.
- Return type
- property root_device: torch.device¶
Return the root device.
- property should_rank_save_checkpoint: bool¶
Returns whether the checkpoint should be saved (rank based)