A generic project template based on pytorch lightning
- All features from pytorch lightning and lightning CLI. Especially, experiment manager feature, auto implement multi-node, multi-device, multi-accelerator support, etc.
- Powerful deep update feature for config file inherit to manage your config files in a more hierarchical way, see also recommand config file structure.
- Multi and complex optimizers and lr_scheduler from CLI config support, see doc.
- Powerful and flexible LightningModule and LightningDataModule base class.
- Cross-validation support with only one argument you have to change.
- Useful auto lr finder and auto batch size scaler.
See installation docs for details.
This project base on the lightning CLI, so it support all feature from pytorch lightning and lightning CLI, you can get a brief introduction from cli doc.
As pytorch lightning, we use LightningModule to implement the model and train, val and test loop, use LightningDataModule to implement dataset and dataloaders, for detail, see model doc and dataset doc
pytorch lightning do not support multi optimizers and lr schedulers from cli, we add this feature, see doc for detail.
Set num_folds
of trainer to a int bigger than one to start cross-validation, for details, see doc.
See config file structure, deep update, yaml with merge and json file