How to set seed when using pytorch lightning?
Matthew Harrington
I have a training code using pytorch lightning. To get the same results in each run, I set the seeds like this:
if __name__ == '__main__': pl.seed_everything(1234) random.seed(1234) np.random.seed(1234) torch.manual_seed(1234)but I still get different prediction results. What should I do to make sure the output of the model are always the same for all runs?
1 Answer
Try using the function seed_everything from lightning.pytorch and also specify deterministic=True when initializing pl.Trainer.
from lightning.pytorch import seed_everything
import lightning.pytorch as pl
seed_everything(42, workers=True)
trainer = pl.Trainer(limit_train_batches=100, max_epochs=1, deterministic=True)