class_docstr: The default implementation of `DdpAccelerator`, which is just a thin wrapper
  around PyTorch's `DistributedDataParallel`.
code: def __init__(
      self,
      *,
      find_unused_parameters: bool = False,
      local_rank: Optional[int] = None,
      world_size: Optional[int] = None,
      cuda_device: Union[torch.device, int] = -1,
  ) -> None:
      super().__init__(
          local_rank=local_rank,
          world_size=world_size,
          cuda_device=cuda_device,
      )
      self._ddp_kwargs = {
          "find_unused_parameters": find_unused_parameters,
      }
  
imports: import os
  from typing import Union, Tuple, OrderedDict, Dict, NamedTuple, List, Optional, Any, Sequence, TYPE_CHECKING
  import torch
  import torch.distributed
  from torch.cuda import amp
  from torch.nn.utils import clip_grad_norm_
  from allennlp.common import Registrable
  from allennlp.common.util import int_to_device
  from allennlp.nn.parallel.sharded_module_mixin import ShardedModuleMixin
label_desc: Use image node_id 1 to create a new TorchDdpAccelerator object from inherited base classes: DdpAccelerator with example: obj = TorchDdpAccelerator()