lightning 2.4.0__tar.gz → 2.4.0.dev20240707__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/.actions/assistant.py +20 -13
- {lightning-2.4.0/src/lightning.egg-info → lightning-2.4.0.dev20240707}/PKG-INFO +20 -25
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/README.md +7 -12
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/pyproject.toml +0 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/base.txt +1 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/fabric/base.txt +1 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/fabric/test.txt +0 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/pytorch/base.txt +2 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/pytorch/examples.txt +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/pytorch/test.txt +2 -3
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/__setup__.py +5 -5
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/CHANGELOG.md +19 -9
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/__init__.py +3 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/fabric.py +2 -2
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/loggers/csv_logs.py +1 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/loggers/tensorboard.py +5 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/collectives/torch_collective.py +2 -2
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/amp.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/deepspeed.py +1 -5
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/fsdp.py +2 -2
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/model_parallel.py +5 -5
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/apply_func.py +4 -11
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/cloud_io.py +1 -8
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/distributed.py +1 -12
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/imports.py +2 -4
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/load.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/logger.py +6 -9
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/optimizer.py +3 -11
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/registry.py +11 -5
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/seed.py +19 -43
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/CHANGELOG.md +18 -15
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/__init__.py +2 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/model_checkpoint.py +1 -3
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/model_summary.py +1 -11
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/progress/rich_progress.py +15 -12
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/progress/tqdm_progress.py +4 -9
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/pruning.py +3 -3
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/rich_model_summary.py +1 -4
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/stochastic_weight_avg.py +4 -4
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/cli.py +5 -19
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/datamodule.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/module.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/demos/__init__.py +0 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/demos/transformer.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/csv_logs.py +3 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/tensorboard.py +4 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/amp.py +2 -3
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/precision.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/advanced.py +0 -25
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/pytorch.py +4 -21
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/launchers/multiprocessing.py +1 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/model_parallel.py +5 -5
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/logger_connector/result.py +11 -4
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/signal_connector.py +21 -3
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/trainer.py +5 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/tuner/lr_finder.py +4 -7
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/model_helpers.py +3 -6
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/model_summary/model_summary.py +8 -24
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/model_summary/model_summary_deepspeed.py +5 -5
- lightning-2.4.0.dev20240707/src/lightning/version.info +1 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707/src/lightning.egg-info}/PKG-INFO +20 -25
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning.egg-info/SOURCES.txt +1 -2
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning.egg-info/requires.txt +1 -6
- lightning-2.4.0.dev20240707/src/version.info +1 -0
- lightning-2.4.0/src/lightning/pytorch/demos/lstm.py +0 -98
- lightning-2.4.0/src/lightning/version.info +0 -1
- lightning-2.4.0/src/version.info +0 -1
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/CITATION.cff +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/LICENSE +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/fabric/docs.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/fabric/examples.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/fabric/strategies.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/pytorch/docs.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/pytorch/extra.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/requirements/pytorch/strategies.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/setup.cfg +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/setup.py +0 -0
- /lightning-2.4.0/src/lightning/4a69c3efc087c81945f6226f6e1f7722e053a23ecfc6fe93 → /lightning-2.4.0.dev20240707/src/lightning/694dbd34fcf659be5606c7f9f88c93d396c29747d6b13f33 +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/__about__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/__version__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/data/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/_graveyard/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/_graveyard/tpu.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/accelerator.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/cpu.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/cuda.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/mps.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/registry.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/accelerators/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/cli.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/connector.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/loggers/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/loggers/logger.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/collectives/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/collectives/collective.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/collectives/single_device.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/cluster_environment.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/kubeflow.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/lightning.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/lsf.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/mpi.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/slurm.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/torchelastic.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/environments/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/io/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/io/checkpoint_io.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/io/torch_io.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/io/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/bitsandbytes.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/deepspeed.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/double.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/fsdp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/half.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/precision.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/transformer_engine.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/utils.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/ddp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/dp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/launchers/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/launchers/launcher.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/launchers/multiprocessing.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/launchers/subprocess_script.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/launchers/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/parallel.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/registry.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/single_device.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/single_xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/strategy.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/xla_fsdp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/consolidate_checkpoint.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/data.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/device_dtype_mixin.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/device_parser.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/enums.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/exceptions.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/init.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/rank_zero.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/spike.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/testing/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/testing/_runif.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/throughput.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/types.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/warnings.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/wrappers.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/py.typed +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/_graveyard/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/_graveyard/_torchmetrics.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/_graveyard/hpu.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/_graveyard/precision.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/_graveyard/tpu.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/accelerators/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/accelerators/accelerator.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/accelerators/cpu.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/accelerators/cuda.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/accelerators/mps.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/accelerators/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/batch_size_finder.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/callback.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/checkpoint.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/device_stats_monitor.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/early_stopping.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/finetuning.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/gradient_accumulation_scheduler.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/lambda_function.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/lr_finder.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/lr_monitor.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/on_exception_checkpoint.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/prediction_writer.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/progress/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/progress/progress_bar.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/spike.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/throughput_monitor.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/callbacks/timer.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/hooks.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/mixins/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/mixins/hparams_mixin.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/optimizer.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/core/saving.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/demos/boring_classes.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/demos/mnist_datamodule.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/comet.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/logger.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/mlflow.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/neptune.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/utilities.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loggers/wandb.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/evaluation_loop.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/fetchers.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/fit_loop.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/loop.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/optimization/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/optimization/automatic.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/optimization/closure.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/optimization/manual.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/prediction_loop.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/progress.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/training_epoch_loop.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/loops/utilities.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/overrides/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/overrides/distributed.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/environments/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/io/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/io/async_plugin.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/io/checkpoint_plugin.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/io/torch_plugin.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/io/wrapper.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/io/xla_plugin.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/layer_sync.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/bitsandbytes.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/deepspeed.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/double.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/fsdp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/half.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/transformer_engine.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/plugins/precision/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/base.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/profiler.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/simple.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/profilers/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/serve/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/serve/servable_module.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/serve/servable_module_validator.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/ddp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/deepspeed.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/fsdp.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/launchers/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/launchers/launcher.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/launchers/subprocess_script.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/launchers/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/parallel.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/single_device.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/single_xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/strategy.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/strategies/xla.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/call.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/configuration_validator.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/accelerator_connector.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/callback_connector.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/checkpoint_connector.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/data_connector.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/logger_connector/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/logger_connector/fx_validator.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/connectors/logger_connector/logger_connector.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/setup.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/trainer/states.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/tuner/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/tuner/batch_size_scaling.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/tuner/tuning.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/_pytree.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/argparse.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/combined_loader.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/compile.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/consolidate_checkpoint.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/data.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/deepspeed.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/enums.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/exceptions.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/grads.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/imports.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/memory.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/migration/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/migration/migration.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/migration/utils.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/model_summary/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/parameter_tying.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/parsing.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/rank_zero.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/seed.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/signature_utils.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/testing/__init__.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/testing/_runif.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/types.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/upgrade_checkpoint.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/pytorch/utilities/warnings.py +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning.egg-info/dependency_links.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning.egg-info/entry_points.txt +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning.egg-info/not-zip-safe +0 -0
- {lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning.egg-info/top_level.txt +0 -0
|
@@ -18,13 +18,13 @@ import re
|
|
|
18
18
|
import shutil
|
|
19
19
|
import tempfile
|
|
20
20
|
import urllib.request
|
|
21
|
+
from distutils.version import LooseVersion
|
|
21
22
|
from itertools import chain
|
|
22
23
|
from os.path import dirname, isfile
|
|
23
24
|
from pathlib import Path
|
|
24
|
-
from typing import Any, Dict, Iterable, Iterator, List, Optional, Sequence, Tuple
|
|
25
|
+
from typing import Any, Dict, Iterable, Iterator, List, Optional, Sequence, Tuple, Union
|
|
25
26
|
|
|
26
|
-
from
|
|
27
|
-
from packaging.version import Version
|
|
27
|
+
from pkg_resources import Requirement, parse_requirements, yield_lines
|
|
28
28
|
|
|
29
29
|
REQUIREMENT_FILES = {
|
|
30
30
|
"pytorch": (
|
|
@@ -80,15 +80,14 @@ class _RequirementWithComment(Requirement):
|
|
|
80
80
|
out = str(self)
|
|
81
81
|
if self.strict:
|
|
82
82
|
return f"{out} {self.strict_string}"
|
|
83
|
-
specs = [(spec.operator, spec.version) for spec in self.specifier]
|
|
84
83
|
if unfreeze == "major":
|
|
85
|
-
for operator, version in specs:
|
|
84
|
+
for operator, version in self.specs:
|
|
86
85
|
if operator in ("<", "<="):
|
|
87
|
-
major =
|
|
86
|
+
major = LooseVersion(version).version[0]
|
|
88
87
|
# replace upper bound with major version increased by one
|
|
89
88
|
return out.replace(f"{operator}{version}", f"<{major + 1}.0")
|
|
90
89
|
elif unfreeze == "all":
|
|
91
|
-
for operator, version in specs:
|
|
90
|
+
for operator, version in self.specs:
|
|
92
91
|
if operator in ("<", "<="):
|
|
93
92
|
# drop upper bound
|
|
94
93
|
return out.replace(f"{operator}{version},", "")
|
|
@@ -97,25 +96,33 @@ class _RequirementWithComment(Requirement):
|
|
|
97
96
|
return out
|
|
98
97
|
|
|
99
98
|
|
|
100
|
-
def _parse_requirements(
|
|
99
|
+
def _parse_requirements(strs: Union[str, Iterable[str]]) -> Iterator[_RequirementWithComment]:
|
|
101
100
|
"""Adapted from `pkg_resources.parse_requirements` to include comments.
|
|
102
101
|
|
|
103
102
|
>>> txt = ['# ignored', '', 'this # is an', '--piparg', 'example', 'foo # strict', 'thing', '-r different/file.txt']
|
|
104
103
|
>>> [r.adjust('none') for r in _parse_requirements(txt)]
|
|
105
104
|
['this', 'example', 'foo # strict', 'thing']
|
|
105
|
+
>>> txt = '\\n'.join(txt)
|
|
106
|
+
>>> [r.adjust('none') for r in _parse_requirements(txt)]
|
|
107
|
+
['this', 'example', 'foo # strict', 'thing']
|
|
106
108
|
|
|
107
109
|
"""
|
|
110
|
+
lines = yield_lines(strs)
|
|
108
111
|
pip_argument = None
|
|
109
112
|
for line in lines:
|
|
110
|
-
line = line.strip()
|
|
111
|
-
if not line or line.startswith("#"):
|
|
112
|
-
continue
|
|
113
113
|
# Drop comments -- a hash without a space may be in a URL.
|
|
114
114
|
if " #" in line:
|
|
115
115
|
comment_pos = line.find(" #")
|
|
116
116
|
line, comment = line[:comment_pos], line[comment_pos:]
|
|
117
117
|
else:
|
|
118
118
|
comment = ""
|
|
119
|
+
# If there is a line continuation, drop it, and append the next line.
|
|
120
|
+
if line.endswith("\\"):
|
|
121
|
+
line = line[:-2].strip()
|
|
122
|
+
try:
|
|
123
|
+
line += next(lines)
|
|
124
|
+
except StopIteration:
|
|
125
|
+
return
|
|
119
126
|
# If there's a pip argument, save it
|
|
120
127
|
if line.startswith("--"):
|
|
121
128
|
pip_argument = line
|
|
@@ -141,7 +148,7 @@ def load_requirements(path_dir: str, file_name: str = "base.txt", unfreeze: str
|
|
|
141
148
|
logging.warning(f"Folder {path_dir} does not have any base requirements.")
|
|
142
149
|
return []
|
|
143
150
|
assert path.exists(), (path_dir, file_name, path)
|
|
144
|
-
text = path.read_text()
|
|
151
|
+
text = path.read_text()
|
|
145
152
|
return [req.adjust(unfreeze) for req in _parse_requirements(text)]
|
|
146
153
|
|
|
147
154
|
|
|
@@ -361,7 +368,7 @@ class AssistantCLI:
|
|
|
361
368
|
if not ln_ or ln_.startswith("#"):
|
|
362
369
|
final.append(line)
|
|
363
370
|
continue
|
|
364
|
-
req = list(
|
|
371
|
+
req = list(parse_requirements(ln_))[0]
|
|
365
372
|
if req.name not in packages:
|
|
366
373
|
final.append(line)
|
|
367
374
|
print(final)
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: lightning
|
|
3
|
-
Version: 2.4.0
|
|
3
|
+
Version: 2.4.0.dev20240707
|
|
4
4
|
Summary: The Deep Learning framework to train, deploy, and ship AI products Lightning fast.
|
|
5
5
|
Home-page: https://github.com/Lightning-AI/lightning
|
|
6
6
|
Author: Lightning AI et al.
|
|
@@ -21,35 +21,35 @@ Classifier: Topic :: Scientific/Engineering :: Information Analysis
|
|
|
21
21
|
Classifier: License :: OSI Approved :: Apache Software License
|
|
22
22
|
Classifier: Operating System :: OS Independent
|
|
23
23
|
Classifier: Programming Language :: Python :: 3
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.8
|
|
24
25
|
Classifier: Programming Language :: Python :: 3.9
|
|
25
26
|
Classifier: Programming Language :: Python :: 3.10
|
|
26
27
|
Classifier: Programming Language :: Python :: 3.11
|
|
27
|
-
|
|
28
|
-
Requires-Python: >=3.9
|
|
28
|
+
Requires-Python: >=3.8
|
|
29
29
|
Description-Content-Type: text/markdown
|
|
30
|
-
Provides-Extra:
|
|
31
|
-
Provides-Extra: pytorch-extra
|
|
32
|
-
Provides-Extra: pytorch-test
|
|
33
|
-
Provides-Extra: pytorch-strategies
|
|
30
|
+
Provides-Extra: fabric-strategies
|
|
34
31
|
Provides-Extra: fabric-examples
|
|
35
32
|
Provides-Extra: fabric-test
|
|
36
|
-
Provides-Extra:
|
|
33
|
+
Provides-Extra: pytorch-strategies
|
|
34
|
+
Provides-Extra: pytorch-examples
|
|
35
|
+
Provides-Extra: pytorch-test
|
|
36
|
+
Provides-Extra: pytorch-extra
|
|
37
37
|
Provides-Extra: fabric-all
|
|
38
38
|
Provides-Extra: fabric-dev
|
|
39
39
|
Provides-Extra: pytorch-all
|
|
40
40
|
Provides-Extra: pytorch-dev
|
|
41
|
+
Provides-Extra: data
|
|
42
|
+
Provides-Extra: strategies
|
|
41
43
|
Provides-Extra: examples
|
|
42
|
-
Provides-Extra: extra
|
|
43
44
|
Provides-Extra: test
|
|
44
|
-
Provides-Extra:
|
|
45
|
-
Provides-Extra: data
|
|
45
|
+
Provides-Extra: extra
|
|
46
46
|
Provides-Extra: all
|
|
47
47
|
Provides-Extra: dev
|
|
48
48
|
License-File: LICENSE
|
|
49
49
|
|
|
50
50
|
<div align="center">
|
|
51
51
|
|
|
52
|
-
<img alt="Lightning" src="https://pl-
|
|
52
|
+
<img alt="Lightning" src="https://pl-public-data.s3.amazonaws.com/assets_lightning/LightningColor.png" width="800px" style="max-width: 100%;">
|
|
53
53
|
|
|
54
54
|
<br/>
|
|
55
55
|
<br/>
|
|
@@ -65,7 +65,7 @@ ______________________________________________________________________
|
|
|
65
65
|
<a href="#examples">Examples</a> •
|
|
66
66
|
<a href="#pytorch-lightning-train-and-deploy-pytorch-at-scale">PyTorch Lightning</a> •
|
|
67
67
|
<a href="#lightning-fabric-expert-control">Fabric</a> •
|
|
68
|
-
<a href="https://pytorch-lightning.readthedocs.io/en/2.4.0">Docs</a> •
|
|
68
|
+
<a href="https://pytorch-lightning.readthedocs.io/en/2.4.0.dev20240707">Docs</a> •
|
|
69
69
|
<a href="#community">Community</a> •
|
|
70
70
|
<a href="https://lightning.ai/docs/pytorch/stable/generated/CONTRIBUTING.html">Contribute</a> •
|
|
71
71
|
</p>
|
|
@@ -141,17 +141,12 @@ ______________________________________________________________________
|
|
|
141
141
|
### Examples
|
|
142
142
|
Explore various types of training possible with PyTorch Lightning. Pretrain and finetune ANY kind of model to perform ANY task like classification, segmentation, summarization and more:
|
|
143
143
|
|
|
144
|
-
| Task | Description
|
|
145
|
-
|
|
146
|
-
| [Hello world](#hello-simple-model) | Pretrain - Hello world example
|
|
147
|
-
| [Image
|
|
148
|
-
| [
|
|
149
|
-
| [
|
|
150
|
-
| [Text classification](https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning) | Finetune - text classifier (BERT model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
151
|
-
| [Text summarization](https://lightning.ai/lightning-ai/studios/text-summarization-with-pytorch-lightning) | Finetune - text summarization (Hugging Face transformer model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/text-summarization-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
152
|
-
| [Audio generation](https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator) | Finetune - audio generator (transformer model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
153
|
-
| [LLM finetuning](https://lightning.ai/lightning-ai/studios/finetune-an-llm-with-pytorch-lightning) | Finetune - LLM (Meta Llama 3.1 8B) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/finetune-an-llm-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
154
|
-
| [Image generation](https://lightning.ai/lightning-ai/studios/train-a-diffusion-model-with-pytorch-lightning) | Pretrain - Image generator (diffusion model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/train-a-diffusion-model-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
144
|
+
| Task | Description | Run |
|
|
145
|
+
|-------------------------------------------------------------------------------------------------------------|------------------------------------------------|---|
|
|
146
|
+
| [Hello world](#hello-simple-model) | Pretrain - Hello world example | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/pytorch-lightning-hello-world"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
147
|
+
| [Image segmentation](https://lightning.ai/lightning-ai/studios/image-segmentation-with-pytorch-lightning) | Finetune - ResNet-50 model to segment images | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/image-segmentation-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
148
|
+
| [Text classification](https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning) | Finetune - text classifier (BERT model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
149
|
+
| [Audio generation](https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator) | Finetune - audio generator (transformer model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
155
150
|
|
|
156
151
|
### Hello simple model
|
|
157
152
|
|
|
@@ -587,7 +582,7 @@ Lightning is rigorously tested across multiple CPUs, GPUs and TPUs and against m
|
|
|
587
582
|
|
|
588
583
|
| System / PyTorch ver. | 1.13 | 2.0 | 2.1 |
|
|
589
584
|
| :--------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: | :-----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------: |:-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------:|
|
|
590
|
-
| Linux py3.9 \[GPUs\] | | | [](https://dev.azure.com/Lightning-AI/lightning/_build/latest?definitionId=24&branchName=master) |
|
|
585
|
+
| Linux py3.9 \[GPUs\] | | | [](https://dev.azure.com/Lightning-AI/lightning/_build/latest?definitionId=24&branchName=master) |
|
|
591
586
|
| Linux py3.9 \[TPUs\] | | [](https://github.com/Lightning-AI/lightning/actions/workflows/tpu-tests.yml) | |
|
|
592
587
|
| Linux (multiple Python versions) | [](https://github.com/Lightning-AI/lightning/actions/workflows/ci-tests-pytorch.yml) | [](https://github.com/Lightning-AI/lightning/actions/workflows/ci-tests-pytorch.yml) | [](https://github.com/Lightning-AI/lightning/actions/workflows/ci-tests-pytorch.yml) |
|
|
593
588
|
| OSX (multiple Python versions) | [](https://github.com/Lightning-AI/lightning/actions/workflows/ci-tests-pytorch.yml) | [](https://github.com/Lightning-AI/lightning/actions/workflows/ci-tests-pytorch.yml) | [](https://github.com/Lightning-AI/lightning/actions/workflows/ci-tests-pytorch.yml) |
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
<div align="center">
|
|
2
2
|
|
|
3
|
-
<img alt="Lightning" src="https://pl-
|
|
3
|
+
<img alt="Lightning" src="https://pl-public-data.s3.amazonaws.com/assets_lightning/LightningColor.png" width="800px" style="max-width: 100%;">
|
|
4
4
|
|
|
5
5
|
<br/>
|
|
6
6
|
<br/>
|
|
@@ -133,17 +133,12 @@ ______________________________________________________________________
|
|
|
133
133
|
### Examples
|
|
134
134
|
Explore various types of training possible with PyTorch Lightning. Pretrain and finetune ANY kind of model to perform ANY task like classification, segmentation, summarization and more:
|
|
135
135
|
|
|
136
|
-
| Task | Description
|
|
137
|
-
|
|
138
|
-
| [Hello world](#hello-simple-model) | Pretrain - Hello world example
|
|
139
|
-
| [Image
|
|
140
|
-
| [
|
|
141
|
-
| [
|
|
142
|
-
| [Text classification](https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning) | Finetune - text classifier (BERT model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
143
|
-
| [Text summarization](https://lightning.ai/lightning-ai/studios/text-summarization-with-pytorch-lightning) | Finetune - text summarization (Hugging Face transformer model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/text-summarization-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
144
|
-
| [Audio generation](https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator) | Finetune - audio generator (transformer model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
145
|
-
| [LLM finetuning](https://lightning.ai/lightning-ai/studios/finetune-an-llm-with-pytorch-lightning) | Finetune - LLM (Meta Llama 3.1 8B) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/finetune-an-llm-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
146
|
-
| [Image generation](https://lightning.ai/lightning-ai/studios/train-a-diffusion-model-with-pytorch-lightning) | Pretrain - Image generator (diffusion model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/train-a-diffusion-model-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
136
|
+
| Task | Description | Run |
|
|
137
|
+
|-------------------------------------------------------------------------------------------------------------|------------------------------------------------|---|
|
|
138
|
+
| [Hello world](#hello-simple-model) | Pretrain - Hello world example | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/pytorch-lightning-hello-world"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
139
|
+
| [Image segmentation](https://lightning.ai/lightning-ai/studios/image-segmentation-with-pytorch-lightning) | Finetune - ResNet-50 model to segment images | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/image-segmentation-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
140
|
+
| [Text classification](https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning) | Finetune - text classifier (BERT model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/text-classification-with-pytorch-lightning"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
141
|
+
| [Audio generation](https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator) | Finetune - audio generator (transformer model) | <a target="_blank" href="https://lightning.ai/lightning-ai/studios/finetune-a-personal-ai-music-generator"><img src="https://pl-bolts-doc-images.s3.us-east-2.amazonaws.com/app-2/studio-badge.svg" alt="Open In Studio"/></a> |
|
|
147
142
|
|
|
148
143
|
### Hello simple model
|
|
149
144
|
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
# NOTE: the upper bound for the package version is only set for CI stability, and it is dropped while installing this package
|
|
2
2
|
# in case you want to preserve/enforce restrictions on the latest compatible version, add "strict" as an in-line comment
|
|
3
3
|
|
|
4
|
+
numpy >=1.21.0, <1.27.0
|
|
4
5
|
torch >=2.1.0, <2.5.0
|
|
5
6
|
fsspec[http] >=2022.5.0, <2024.4.0
|
|
6
7
|
packaging >=20.0, <=23.1
|
|
@@ -1,7 +1,8 @@
|
|
|
1
1
|
# NOTE: the upper bound for the package version is only set for CI stability, and it is dropped while installing this package
|
|
2
2
|
# in case you want to preserve/enforce restrictions on the latest compatible version, add "strict" as an in-line comment
|
|
3
3
|
|
|
4
|
-
|
|
4
|
+
numpy >=1.21.0, <1.27.0
|
|
5
|
+
torch >=2.1.0, <2.4.0
|
|
5
6
|
tqdm >=4.57.0, <4.67.0
|
|
6
7
|
PyYAML >=5.4, <6.1.0
|
|
7
8
|
fsspec[http] >=2022.5.0, <2024.4.0
|
|
@@ -2,7 +2,7 @@
|
|
|
2
2
|
# in case you want to preserve/enforce restrictions on the latest compatible version, add "strict" as an in-line comment
|
|
3
3
|
|
|
4
4
|
requests <2.32.0
|
|
5
|
-
torchvision >=0.16.0, <0.
|
|
5
|
+
torchvision >=0.16.0, <0.19.0
|
|
6
6
|
ipython[all] <8.15.0
|
|
7
7
|
torchmetrics >=0.10.0, <1.3.0
|
|
8
8
|
lightning-utilities >=0.8.0, <0.12.0
|
|
@@ -8,9 +8,8 @@ pytest-random-order ==1.1.0
|
|
|
8
8
|
# needed in tests
|
|
9
9
|
cloudpickle >=1.3, <2.3.0
|
|
10
10
|
scikit-learn >0.22.1, <1.4.0
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
onnxruntime >=1.12.0, <1.19.0
|
|
11
|
+
onnx >=1.12.0, <1.15.0
|
|
12
|
+
onnxruntime >=1.12.0, <1.17.0
|
|
14
13
|
psutil <5.9.6 # for `DeviceStatsMonitor`
|
|
15
14
|
pandas >1.0, <2.2.0 # needed in benchmarks
|
|
16
15
|
fastapi # for `ServableModuleValidator` # not setting version as re-defined in App
|
|
@@ -5,7 +5,7 @@ from pathlib import Path
|
|
|
5
5
|
from types import ModuleType
|
|
6
6
|
from typing import Any, Dict
|
|
7
7
|
|
|
8
|
-
from setuptools import
|
|
8
|
+
from setuptools import find_packages
|
|
9
9
|
|
|
10
10
|
_PROJECT_ROOT = "."
|
|
11
11
|
_SOURCE_ROOT = os.path.join(_PROJECT_ROOT, "src")
|
|
@@ -87,14 +87,14 @@ def _setup_args() -> Dict[str, Any]:
|
|
|
87
87
|
"url": about.__homepage__,
|
|
88
88
|
"download_url": "https://github.com/Lightning-AI/lightning",
|
|
89
89
|
"license": about.__license__,
|
|
90
|
-
"packages":
|
|
90
|
+
"packages": find_packages(where="src", include=["lightning", "lightning.*"]),
|
|
91
91
|
"package_dir": {"": "src"},
|
|
92
92
|
"long_description": long_description,
|
|
93
93
|
"long_description_content_type": "text/markdown",
|
|
94
94
|
"include_package_data": True,
|
|
95
95
|
"zip_safe": False,
|
|
96
|
-
"keywords": ["deep learning", "pytorch", "AI"],
|
|
97
|
-
"python_requires": ">=3.
|
|
96
|
+
"keywords": ["deep learning", "pytorch", "AI"], # todo: aggregate tags from all packages
|
|
97
|
+
"python_requires": ">=3.8", # todo: take the lowes based on all packages
|
|
98
98
|
"entry_points": {
|
|
99
99
|
"console_scripts": [
|
|
100
100
|
"fabric = lightning.fabric.cli:_main",
|
|
@@ -124,9 +124,9 @@ def _setup_args() -> Dict[str, Any]:
|
|
|
124
124
|
"Operating System :: OS Independent",
|
|
125
125
|
# Specify the Python versions you support here.
|
|
126
126
|
"Programming Language :: Python :: 3",
|
|
127
|
+
"Programming Language :: Python :: 3.8",
|
|
127
128
|
"Programming Language :: Python :: 3.9",
|
|
128
129
|
"Programming Language :: Python :: 3.10",
|
|
129
130
|
"Programming Language :: Python :: 3.11",
|
|
130
|
-
"Programming Language :: Python :: 3.12",
|
|
131
131
|
], # todo: consider aggregation/union of tags from particular packages
|
|
132
132
|
}
|
|
@@ -5,29 +5,39 @@ All notable changes to this project will be documented in this file.
|
|
|
5
5
|
The format is based on [Keep a Changelog](http://keepachangelog.com/en/1.0.0/).
|
|
6
6
|
|
|
7
7
|
|
|
8
|
-
## [
|
|
8
|
+
## [unreleased] - YYYY-MM-DD
|
|
9
9
|
|
|
10
10
|
### Added
|
|
11
11
|
|
|
12
12
|
- Made saving non-distributed checkpoints fully atomic ([#20011](https://github.com/Lightning-AI/pytorch-lightning/pull/20011))
|
|
13
|
-
|
|
14
|
-
-
|
|
15
|
-
- Added support for Python 3.12 ([20078](https://github.com/Lightning-AI/pytorch-lightning/pull/20078))
|
|
13
|
+
|
|
14
|
+
-
|
|
16
15
|
|
|
17
16
|
### Changed
|
|
18
17
|
|
|
19
|
-
-
|
|
20
|
-
|
|
18
|
+
-
|
|
19
|
+
|
|
20
|
+
-
|
|
21
|
+
|
|
22
|
+
### Deprecated
|
|
23
|
+
|
|
24
|
+
-
|
|
25
|
+
|
|
26
|
+
-
|
|
21
27
|
|
|
22
28
|
### Removed
|
|
23
29
|
|
|
24
30
|
- Removed support for PyTorch 2.1 ([#20009](https://github.com/Lightning-AI/lightning/pull/20009))
|
|
25
|
-
|
|
31
|
+
|
|
32
|
+
|
|
33
|
+
-
|
|
26
34
|
|
|
27
35
|
### Fixed
|
|
28
36
|
|
|
29
|
-
-
|
|
30
|
-
|
|
37
|
+
-
|
|
38
|
+
|
|
39
|
+
-
|
|
40
|
+
|
|
31
41
|
|
|
32
42
|
|
|
33
43
|
## [2.3.0] - 2024-06-13
|
|
@@ -37,6 +37,9 @@ import lightning.fabric._graveyard # noqa: E402, F401 # isort: skip
|
|
|
37
37
|
|
|
38
38
|
__all__ = ["Fabric", "seed_everything", "is_wrapped"]
|
|
39
39
|
|
|
40
|
+
# for compatibility with namespace packages
|
|
41
|
+
__import__("pkg_resources").declare_namespace(__name__)
|
|
42
|
+
|
|
40
43
|
|
|
41
44
|
if os.environ.get("POSSIBLE_USER_WARNINGS", "").lower() in ("0", "off"):
|
|
42
45
|
disable_possible_user_warnings()
|
|
@@ -909,7 +909,7 @@ class Fabric:
|
|
|
909
909
|
logger.log_metrics(metrics=metrics, step=step)
|
|
910
910
|
|
|
911
911
|
@staticmethod
|
|
912
|
-
def seed_everything(seed: Optional[int] = None, workers: Optional[bool] = None
|
|
912
|
+
def seed_everything(seed: Optional[int] = None, workers: Optional[bool] = None) -> int:
|
|
913
913
|
r"""Helper function to seed everything without explicitly importing Lightning.
|
|
914
914
|
|
|
915
915
|
See :func:`~lightning.fabric.utilities.seed.seed_everything` for more details.
|
|
@@ -919,7 +919,7 @@ class Fabric:
|
|
|
919
919
|
# Lightning sets `workers=False` by default to avoid breaking reproducibility, but since this is a new
|
|
920
920
|
# release, we can afford to do it.
|
|
921
921
|
workers = True
|
|
922
|
-
return seed_everything(seed=seed, workers=workers
|
|
922
|
+
return seed_everything(seed=seed, workers=workers)
|
|
923
923
|
|
|
924
924
|
def _wrap_and_launch(self, to_run: Callable, *args: Any, **kwargs: Any) -> Any:
|
|
925
925
|
self._launched = True
|
|
@@ -12,6 +12,7 @@
|
|
|
12
12
|
# See the License for the specific language governing permissions and
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
|
+
import logging
|
|
15
16
|
import os
|
|
16
17
|
from argparse import Namespace
|
|
17
18
|
from typing import TYPE_CHECKING, Any, Dict, Mapping, Optional, Union
|
|
@@ -29,6 +30,8 @@ from lightning.fabric.utilities.rank_zero import rank_zero_only, rank_zero_warn
|
|
|
29
30
|
from lightning.fabric.utilities.types import _PATH
|
|
30
31
|
from lightning.fabric.wrappers import _unwrap_objects
|
|
31
32
|
|
|
33
|
+
log = logging.getLogger(__name__)
|
|
34
|
+
|
|
32
35
|
_TENSORBOARD_AVAILABLE = RequirementCache("tensorboard")
|
|
33
36
|
_TENSORBOARDX_AVAILABLE = RequirementCache("tensorboardX")
|
|
34
37
|
if TYPE_CHECKING:
|
|
@@ -302,6 +305,8 @@ class TensorBoardLogger(Logger):
|
|
|
302
305
|
try:
|
|
303
306
|
listdir_info = self._fs.listdir(save_dir)
|
|
304
307
|
except OSError:
|
|
308
|
+
# TODO(fabric): This message can be confusing (did user do something wrong?). Improve it or remove it.
|
|
309
|
+
log.warning("Missing logger folder: %s", save_dir)
|
|
305
310
|
return 0
|
|
306
311
|
|
|
307
312
|
existing_versions = []
|
|
@@ -95,11 +95,11 @@ class TorchCollective(Collective):
|
|
|
95
95
|
|
|
96
96
|
@override
|
|
97
97
|
def send(self, tensor: Tensor, dst: int, tag: int = 0) -> None:
|
|
98
|
-
dist.send(tensor, dst, tag=tag, group=self.group)
|
|
98
|
+
dist.send(tensor, dst, tag=tag, group=self.group)
|
|
99
99
|
|
|
100
100
|
@override
|
|
101
101
|
def recv(self, tensor: Tensor, src: Optional[int] = None, tag: int = 0) -> Tensor:
|
|
102
|
-
dist.recv(tensor, src, tag=tag, group=self.group)
|
|
102
|
+
dist.recv(tensor, src, tag=tag, group=self.group)
|
|
103
103
|
return tensor
|
|
104
104
|
|
|
105
105
|
def all_gather_object(self, object_list: List[Any], obj: Any) -> List[Any]:
|
{lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/plugins/precision/amp.py
RENAMED
|
@@ -40,7 +40,7 @@ class MixedPrecision(Precision):
|
|
|
40
40
|
self,
|
|
41
41
|
precision: Literal["16-mixed", "bf16-mixed"],
|
|
42
42
|
device: str,
|
|
43
|
-
scaler: Optional["torch.amp.GradScaler"] = None,
|
|
43
|
+
scaler: Optional["torch.cuda.amp.GradScaler"] = None,
|
|
44
44
|
) -> None:
|
|
45
45
|
if precision not in ("16-mixed", "bf16-mixed"):
|
|
46
46
|
raise ValueError(
|
{lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/deepspeed.py
RENAMED
|
@@ -43,7 +43,6 @@ if TYPE_CHECKING:
|
|
|
43
43
|
from deepspeed import DeepSpeedEngine
|
|
44
44
|
|
|
45
45
|
_DEEPSPEED_AVAILABLE = RequirementCache("deepspeed")
|
|
46
|
-
_DEEPSPEED_GREATER_EQUAL_0_14_1 = RequirementCache("deepspeed>=0.14.1")
|
|
47
46
|
|
|
48
47
|
|
|
49
48
|
# TODO(fabric): Links in the docstrings to PL-specific deepspeed user docs need to be replaced.
|
|
@@ -499,10 +498,7 @@ class DeepSpeedStrategy(DDPStrategy, _Sharded):
|
|
|
499
498
|
)
|
|
500
499
|
engine = engines[0]
|
|
501
500
|
|
|
502
|
-
|
|
503
|
-
from deepspeed.runtime.base_optimizer import DeepSpeedOptimizer
|
|
504
|
-
else:
|
|
505
|
-
from deepspeed.runtime import DeepSpeedOptimizer
|
|
501
|
+
from deepspeed.runtime import DeepSpeedOptimizer
|
|
506
502
|
|
|
507
503
|
optimzer_state_requested = any(isinstance(item, (Optimizer, DeepSpeedOptimizer)) for item in state.values())
|
|
508
504
|
|
|
@@ -864,7 +864,7 @@ def _distributed_checkpoint_save(converted_state: Dict[str, Any], path: Path) ->
|
|
|
864
864
|
|
|
865
865
|
# let torch automatically infer the writer to use. This might also support fsspec paths in the future
|
|
866
866
|
# https://github.com/pytorch/pytorch/issues/118036
|
|
867
|
-
save(converted_state, checkpoint_id=path)
|
|
867
|
+
save(converted_state, checkpoint_id=path) # type: ignore[call-arg]
|
|
868
868
|
else: # deprecated
|
|
869
869
|
from torch.distributed.checkpoint import FileSystemWriter
|
|
870
870
|
|
|
@@ -883,7 +883,7 @@ def _distributed_checkpoint_load(module_state: Dict[str, Any], path: Path) -> No
|
|
|
883
883
|
|
|
884
884
|
# let torch automatically infer the reader to use. This might also support fsspec paths in the future
|
|
885
885
|
# https://github.com/pytorch/pytorch/issues/118036
|
|
886
|
-
load(module_state, checkpoint_id=path)
|
|
886
|
+
load(module_state, checkpoint_id=path) # type: ignore[call-arg]
|
|
887
887
|
else: # deprecated
|
|
888
888
|
from torch.distributed.checkpoint import FileSystemReader
|
|
889
889
|
|
{lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/strategies/model_parallel.py
RENAMED
|
@@ -172,7 +172,7 @@ class ModelParallelStrategy(ParallelStrategy):
|
|
|
172
172
|
)
|
|
173
173
|
|
|
174
174
|
@override
|
|
175
|
-
def setup_module(self, module:
|
|
175
|
+
def setup_module(self, module: TModel) -> TModel:
|
|
176
176
|
from torch.distributed.fsdp import FullyShardedDataParallel
|
|
177
177
|
|
|
178
178
|
if any(isinstance(mod, FullyShardedDataParallel) for mod in module.modules()):
|
|
@@ -181,7 +181,7 @@ class ModelParallelStrategy(ParallelStrategy):
|
|
|
181
181
|
f" The `{self.__class__.__name__}` only supports the new FSDP2 APIs in PyTorch >= 2.4."
|
|
182
182
|
)
|
|
183
183
|
|
|
184
|
-
module = self._parallelize_fn(module, self.device_mesh)
|
|
184
|
+
module = self._parallelize_fn(module, self.device_mesh)
|
|
185
185
|
if not isinstance(module, Module):
|
|
186
186
|
raise TypeError(
|
|
187
187
|
f"The `parallelize_fn` must return a `nn.Module` instance, but got: {type(module).__name__}"
|
|
@@ -458,11 +458,11 @@ def _load_checkpoint(
|
|
|
458
458
|
return metadata
|
|
459
459
|
|
|
460
460
|
if _is_full_checkpoint(path):
|
|
461
|
-
checkpoint = torch.load(path, mmap=True, map_location="cpu"
|
|
461
|
+
checkpoint = torch.load(path, mmap=True, map_location="cpu")
|
|
462
462
|
_load_raw_module_state(checkpoint.pop(module_key), module, strict=strict)
|
|
463
463
|
|
|
464
464
|
state_dict_options = StateDictOptions(
|
|
465
|
-
broadcast_from_rank0=True,
|
|
465
|
+
broadcast_from_rank0=True, # type: ignore[call-arg]
|
|
466
466
|
full_state_dict=True,
|
|
467
467
|
strict=strict,
|
|
468
468
|
)
|
|
@@ -546,7 +546,7 @@ def _load_raw_module_state(
|
|
|
546
546
|
from torch.distributed.checkpoint.state_dict import StateDictOptions, set_model_state_dict
|
|
547
547
|
|
|
548
548
|
state_dict_options = StateDictOptions(
|
|
549
|
-
broadcast_from_rank0=True,
|
|
549
|
+
broadcast_from_rank0=True, # type: ignore[call-arg]
|
|
550
550
|
full_state_dict=True,
|
|
551
551
|
# must be set False to allow loading each param separately below
|
|
552
552
|
strict=False,
|
{lightning-2.4.0 → lightning-2.4.0.dev20240707}/src/lightning/fabric/utilities/apply_func.py
RENAMED
|
@@ -15,22 +15,19 @@
|
|
|
15
15
|
|
|
16
16
|
from abc import ABC
|
|
17
17
|
from functools import partial
|
|
18
|
-
from typing import
|
|
18
|
+
from typing import Any, Callable, List, Tuple, Union
|
|
19
19
|
|
|
20
|
+
import numpy as np
|
|
20
21
|
import torch
|
|
21
22
|
from lightning_utilities.core.apply_func import apply_to_collection
|
|
22
23
|
from torch import Tensor
|
|
23
24
|
|
|
24
|
-
from lightning.fabric.utilities.imports import _NUMPY_AVAILABLE
|
|
25
25
|
from lightning.fabric.utilities.types import _DEVICE
|
|
26
26
|
|
|
27
|
-
if TYPE_CHECKING:
|
|
28
|
-
import numpy as np
|
|
29
|
-
|
|
30
27
|
_BLOCKING_DEVICE_TYPES = ("cpu", "mps")
|
|
31
28
|
|
|
32
29
|
|
|
33
|
-
def _from_numpy(value:
|
|
30
|
+
def _from_numpy(value: np.ndarray, device: _DEVICE) -> Tensor:
|
|
34
31
|
return torch.from_numpy(value).to(device)
|
|
35
32
|
|
|
36
33
|
|
|
@@ -39,13 +36,9 @@ CONVERSION_DTYPES: List[Tuple[Any, Callable[[Any, Any], Tensor]]] = [
|
|
|
39
36
|
(bool, partial(torch.tensor, dtype=torch.uint8)),
|
|
40
37
|
(int, partial(torch.tensor, dtype=torch.int)),
|
|
41
38
|
(float, partial(torch.tensor, dtype=torch.float)),
|
|
39
|
+
(np.ndarray, _from_numpy),
|
|
42
40
|
]
|
|
43
41
|
|
|
44
|
-
if _NUMPY_AVAILABLE:
|
|
45
|
-
import numpy as np
|
|
46
|
-
|
|
47
|
-
CONVERSION_DTYPES.append((np.ndarray, _from_numpy))
|
|
48
|
-
|
|
49
42
|
|
|
50
43
|
class _TransferableDataType(ABC):
|
|
51
44
|
"""A custom type for data that can be moved to a torch device via ``.to(...)``.
|