Upgrading checkpoints (intermediate)¶
Audience: Users who are upgrading Lightning and their code and want to reuse their old checkpoints.
Resume training from an old checkpoint¶
Next to the model weights and trainer state, a Lightning checkpoint contains the version number of Lightning with which the checkpoint was saved. When you load a checkpoint file, either by resuming training
trainer = Trainer(...)
trainer.fit(model, ckpt_path="path/to/checkpoint.ckpt")
or by loading the state directly into your model,
model = LitModel.load_from_checkpoint("path/to/checkpoint.ckpt")
Lightning will automatically recognize that it is from an older version and migrates the internal structure so it can be loaded properly. This is done without any action required by the user.
Upgrade checkpoint files permanently¶
When Lightning loads a checkpoint, it applies the version migration on-the-fly as explained above, but it does not modify your checkpoint files. You can upgrade checkpoint files permanently with the following command
python -m lightning.pytorch.utilities.upgrade_checkpoint path/to/model.ckpt
or a folder with multiple files:
python -m lightning.pytorch.utilities.upgrade_checkpoint /path/to/checkpoints/folder