How to set seed when using pytorch lightning?

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)

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

You Might Also Like