Shortcuts

TPUSpawnPlugin

class pytorch_lightning.plugins.training_type.TPUSpawnPlugin(parallel_devices=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

Tensor

Returns

A tensor of shape (world_size, batch, …)

barrier(name=None)[source]

Forces all possibly joined processes to wait for each other

Return type

None

broadcast(obj, src=0)[source]

Broadcasts an object to all processes

Return type

object

connect(model)[source]

Called by the accelerator to connect the accelerator and the model with this plugin

Return type

None

model_to_device()[source]

Moves the model to the correct device

Return type

None

pre_dispatch()[source]

Hook to do something before the training/evaluation/prediction starts.

process_dataloader(dataloader)[source]

Wraps the dataloader if necessary

Parameters

dataloader (DataLoader) – iterable. Ideally of type: torch.utils.data.DataLoader

Return type

None

reduce(output, group=None, reduce_op=None)[source]

Reduces a tensor from several distributed processes to one aggregated tensor.

Parameters
  • tensor – the tensor to sync and reduce

  • group (Optional[Any]) – the process group to gather results from. Defaults to all processes (world)

  • reduce_op (Union[ReduceOp, str, None]) – the reduction operation. Defaults to ‘mean’/’avg’. Can also be a string ‘sum’ to calculate the sum during reduction.

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

bool

save_checkpoint(checkpoint, filepath)[source]

Save model/training states as a checkpoint file through state-dump and file-write.

Parameters
  • checkpoint (Dict[str, Any]) – dict containing model and trainer state

  • filepath (str) – write-target file’s path

Return type

None

setup(model)[source]

Called by the accelerator to finish setup.

Return type

Module

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

None

property root_device: torch.device

Returns the root device

Return type

device

property should_rank_save_checkpoint: bool

Returns whether the checkpoint should be saved (rank based)

Return type

bool