Shortcuts

DDPPlugin

class pytorch_lightning.plugins.training_type.DDPPlugin(parallel_devices=None, num_nodes=None, cluster_environment=None, sync_batchnorm=None, ddp_comm_state=None, ddp_comm_hook=None, ddp_comm_wrapper=None, **kwargs)[source]

Bases: pytorch_lightning.plugins.training_type.parallel.ParallelPlugin

Plugin for multi-process single-device training on one or multiple nodes.

The master process in each node spawns N-1 child processes via subprocess.Popen(), where N is the number of devices (e.g. GPU) per node. It is very similar to how torch.distributed.launch launches processes.

barrier(*args, **kwargs)[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

model_to_device()[source]

Moves the model to the correct device

post_dispatch()[source]

Hook to do something after the training/evaluation/prediction finishes.

Return type

None

pre_backward(closure_loss)[source]

Run before precision plugin executes backward

Return type

None

pre_dispatch()[source]

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

reconciliate_processes(trace)[source]

Function to re-conciliate processes on failure

Return type

None

reduce(tensor, group=None, reduce_op='mean')[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]) – the reduction operation. Defaults to ‘mean’/’avg’. Can also be a string ‘sum’ to calculate the sum during reduction.

Return type

Tensor

Returns

reduced value, except when the input was not a tensor the output remains is unchanged

setup_environment()[source]

Setup any processes or distributed connections. This is called before the LightningModule/DataModule setup hook which allows the user to access the accelerator environment before setup is complete.

Return type

None

property root_device: torch.device

Returns the root device

Return type

device