From 080c308bcc449fcb623c330b94dd56251346d554 Mon Sep 17 00:00:00 2001 From: William Falcon Date: Wed, 3 Jul 2019 16:29:10 -0400 Subject: [PATCH] added single node distdataparallel --- pytorch_lightning/models/trainer.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/pytorch_lightning/models/trainer.py b/pytorch_lightning/models/trainer.py index 919f94cb..8130fc1c 100644 --- a/pytorch_lightning/models/trainer.py +++ b/pytorch_lightning/models/trainer.py @@ -299,26 +299,28 @@ class Trainer(TrainerIO): :param cluster_obj: :return: """ - print('in process') - print(self.experiment) + # recover original exp before went into process + self.experiment = self.experiment.get_non_ddp_exp() # TODO: pass in ip ip = "127.0.0.1" print(self.data_parallel_device_ids) - # configure server + print('configuring server') rank = proc_rank * len(self.data_parallel_device_ids) + gpu_nb print(f"GPU: {gpu_nb} - Rank: {rank}") world_size = self.cluster.per_experiment_nb_nodes * self.cluster.per_experiment_nb_gpus dist.init_process_group("nccl", init_method=f'tcp://{ip}:12001', rank=rank, world_size=world_size) # copy model to each gpu + print('starting DDP') torch.cuda.set_device(gpu_nb) model.cuda(gpu_nb) model = LightningDistributedDataParallel(model, device_ids=[gpu_nb]) # continue training routine + print('running pretrain') self.__run_pretrain_routine(model) def __run_pretrain_routine(self, model):