lightning/pl_examples/multi_node_examples/multi_node_ddp_demo.py

56 lines
1.2 KiB
Python
Raw Normal View History

"""
Multi-node example (GPU)
"""
import os
from argparse import ArgumentParser
import numpy as np
import torch
import pytorch_lightning as pl
from pl_examples.basic_examples.lightning_module_template import LightningTemplateModel
SEED = 2334
torch.manual_seed(SEED)
np.random.seed(SEED)
def main(hparams):
"""
Main training routine specific for this project
:param hparams:
:return:
"""
# ------------------------
# 1 INIT LIGHTNING MODEL
# ------------------------
model = LightningTemplateModel(hparams)
# ------------------------
# 2 INIT TRAINER
# ------------------------
trainer = pl.Trainer(
2019-10-05 18:21:12 +00:00
gpus=2,
num_nodes=2,
distributed_backend='ddp'
)
# ------------------------
2019-10-05 18:21:12 +00:00
# 3 START TRAINING
# ------------------------
trainer.fit(model)
if __name__ == '__main__':
2019-10-05 18:21:12 +00:00
root_dir = os.path.dirname(os.path.realpath(__file__))
parent_parser = ArgumentParser(add_help=False)
2019-10-05 18:21:12 +00:00
# each LightningModule defines arguments relevant to it
parser = LightningTemplateModel.add_model_specific_args(parent_parser, root_dir)
hyperparams = parser.parse_args()
# ---------------------
# RUN TRAINING
# ---------------------
main(hyperparams)