ff5361604b
* update NGC docker (#13136) * update docker * Apply suggestions from code review Co-authored-by: Akihiro Nitta <nitta@akihironitta.com> Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com> * Decouple pulling legacy checkpoints from existing GHA workflows and docker files (#13185) * Add pull-legacy-checkpoints action * Replace pulls with the new action and script * Simplify * Merge pull request #13250 from PyTorchLightning/ci/rm-base CI: Remove simple test `ci_test-base.yml` * Update rich requirement from !=10.15.*,<=12.0.0,>=10.2.2 to >=10.2.2,!=10.15.0.a,<13.0.0 in /requirements (#13047) * Update rich requirement in /requirements Updates the requirements on [rich](https://github.com/willmcgugan/rich) to permit the latest version. - [Release notes](https://github.com/willmcgugan/rich/releases) - [Changelog](https://github.com/Textualize/rich/blob/master/CHANGELOG.md) - [Commits](https://github.com/willmcgugan/rich/compare/v10.2.2...v12.4.1) --- updated-dependencies: - dependency-name: rich dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> * Fix torch.distributed._sharded_tensor DeprecationWarning (#13261) * update tutorials (#13268) * [BUG] `estimated_stepping_batches` requires distributed comms in `configure_optimizers` for `DeepSpeedStrategy` (#13350) * Update torchmetrics requirement from <=0.7.2,>=0.4.1 to >=0.4.1,<0.9.2 in /requirements (#13275) Update torchmetrics requirement in /requirements Updates the requirements on [torchmetrics](https://github.com/PyTorchLightning/metrics) to permit the latest version. - [Release notes](https://github.com/PyTorchLightning/metrics/releases) - [Changelog](https://github.com/PyTorchLightning/metrics/blob/master/CHANGELOG.md) - [Commits](https://github.com/PyTorchLightning/metrics/compare/v0.4.1...v0.9.1) --- updated-dependencies: - dependency-name: torchmetrics dependency-type: direct:production ... Signed-off-by: dependabot[bot] <support@github.com> Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> * Fix mypy errors for model summary utilities (#13384) * rename org Lightning AI * Modified python version check to accommodate for legacy version styles (#13420) Co-authored-by: Carlos Mocholí <carlossmocholi@gmail.com> (cherry picked from commit |
||
---|---|---|
.. | ||
mnist_examples | ||
README.md | ||
__init__.py | ||
autoencoder.py | ||
backbone_image_classifier.py | ||
mnist_datamodule.py | ||
profiler_example.py |
README.md
Basic Examples
Use these examples to test how Lightning works.
MNIST Examples
Here are 5 MNIST examples showing you how to gradually convert from pure PyTorch to PyTorch Lightning.
The transition through LightningLite from pure PyTorch is optional but it might be helpful to learn about it.
1. Image Classifier with Vanilla PyTorch
Trains a simple CNN over MNIST using vanilla PyTorch.
# CPU
python mnist_examples/image_classifier_1_pytorch.py
2. Image Classifier with LightningLite
This script shows you how to scale the previous script to enable GPU and multi-GPU training using LightningLite.
# CPU / multiple GPUs if available
python mnist_examples/image_classifier_2_lite.py
3. Image Classifier - Conversion from Lite to Lightning
This script shows you how to prepare your conversion from LightningLite to LightningModule
.
# CPU / multiple GPUs if available
python mnist_examples/image_classifier_3_lite_to_lightning_module.py
4. Image Classifier with LightningModule
This script shows you the result of the conversion to the LightningModule
and finally all the benefits you get from the Lightning ecosystem.
# CPU
python mnist_examples/image_classifier_4_lightning_module.py
# GPUs (any number)
python mnist_examples/image_classifier_4_lightning_module.py --trainer.accelerator 'gpu' --trainer.devices 2
5. Image Classifier with LightningModule and LightningDataModule
This script shows you how to extract the data related components into a LightningDataModule
.
# CPU
python mnist_examples/image_classifier_5_lightning_datamodule.py
# GPUs (any number)
python mnist_examples/image_classifier_5_lightning_datamodule.py --trainer.accelerator 'gpu' --trainer.devices 2
# Distributed Data Parallel (DDP)
python mnist_examples/image_classifier_5_lightning_datamodule.py --trainer.accelerator 'gpu' --trainer.devices 2 --trainer.strategy 'ddp'
AutoEncoder
This script shows you how to implement a CNN auto-encoder.
# CPU
python autoencoder.py
# GPUs (any number)
python autoencoder.py --trainer.accelerator 'gpu' --trainer.devices 2
# Distributed Data Parallel (DDP)
python autoencoder.py --trainer.accelerator 'gpu' --trainer.devices 2 --trainer.strategy 'ddp'
Backbone Image Classifier
This script shows you how to implement a LightningModule
as a system.
A system describes a LightningModule
which takes a single torch.nn.Module
which makes exporting to producion simpler.
# CPU
python backbone_image_classifier.py
# GPUs (any number)
python backbone_image_classifier.py --trainer.accelerator 'gpu' --trainer.devices 2
# Distributed Data Parallel (DDP)
python backbone_image_classifier.py --trainer.accelerator 'gpu' --trainer.devices 2 --trainer.strategy 'ddp'
PyTorch Profiler
This script shows you how to activate the PyTorch Profiler with Lightning.
python profiler_example.py