| import lightning as L | |
| from lightning.pytorch.callbacks import Callback | |
| class SeedCallback(Callback): | |
| def on_save_checkpoint(self, trainer, pl_module, checkpoint): | |
| checkpoint["global_step"] = trainer.global_step | |
| def on_load_checkpoint(self, trainer, pl_module, checkpoint): | |
| global_step = checkpoint["global_step"] | |
| seed = global_step + trainer.global_rank | |
| L.seed_everything(seed) | |
| print(f"Seeding rank {trainer.global_rank} with seed {seed}") | |