pytorch-lightning 2.6.0__tar.gz → 2.6.0.dev0__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.
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/.actions/assistant.py +9 -10
- {pytorch_lightning-2.6.0/src/pytorch_lightning.egg-info → pytorch_lightning-2.6.0.dev0}/PKG-INFO +15 -17
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/pyproject.toml +7 -1
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/fabric/test.txt +2 -3
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/pytorch/docs.txt +2 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/pytorch/extra.txt +2 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/pytorch/test.txt +4 -5
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/CHANGELOG.md +4 -17
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/fabric.py +8 -33
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/lightning.py +28 -11
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/mpi.py +1 -5
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/io/checkpoint_io.py +1 -8
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/io/torch_io.py +2 -10
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/fsdp.py +10 -10
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/deepspeed.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/fsdp.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/model_parallel.py +3 -5
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/strategy.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/xla_fsdp.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/cloud_io.py +3 -15
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/imports.py +0 -1
- pytorch_lightning-2.6.0.dev0/src/lightning_fabric/utilities/port_manager.py +233 -0
- pytorch_lightning-2.6.0.dev0/src/lightning_fabric/version.info +1 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/CHANGELOG.md +5 -48
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/__init__.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/batch_size_finder.py +0 -14
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/finetuning.py +8 -51
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/model_checkpoint.py +26 -152
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/weight_averaging.py +1 -53
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/datamodule.py +0 -7
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/hooks.py +0 -1
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/module.py +0 -7
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/saving.py +1 -3
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/training_epoch_loop.py +17 -24
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/fsdp.py +10 -10
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/pytorch.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/deepspeed.py +2 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/fsdp.py +2 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/model_parallel.py +1 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/strategy.py +2 -2
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/checkpoint_connector.py +8 -16
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/trainer.py +13 -64
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/tuner/batch_size_scaling.py +6 -57
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/tuner/tuning.py +0 -11
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/imports.py +0 -1
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/parsing.py +1 -1
- pytorch_lightning-2.6.0.dev0/src/pytorch_lightning/version.info +1 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0/src/pytorch_lightning.egg-info}/PKG-INFO +15 -17
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning.egg-info/SOURCES.txt +1 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning.egg-info/requires.txt +6 -8
- pytorch_lightning-2.6.0.dev0/src/version.info +1 -0
- pytorch_lightning-2.6.0/src/lightning_fabric/version.info +0 -1
- pytorch_lightning-2.6.0/src/pytorch_lightning/version.info +0 -1
- pytorch_lightning-2.6.0/src/version.info +0 -1
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/CITATION.cff +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/LICENSE +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/README.md +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/fabric/base.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/fabric/docs.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/fabric/examples.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/fabric/extra.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/fabric/strategies.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/pytorch/base.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/pytorch/examples.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/requirements/pytorch/strategies.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/setup.cfg +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/setup.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/__about__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/__setup__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/__version__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/_graveyard/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/_graveyard/tpu.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/accelerator.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/cpu.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/cuda.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/mps.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/registry.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/accelerators/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/cli.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/connector.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/loggers/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/loggers/csv_logs.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/loggers/logger.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/loggers/tensorboard.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/collectives/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/collectives/collective.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/collectives/single_device.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/collectives/torch_collective.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/cluster_environment.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/kubeflow.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/lsf.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/slurm.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/torchelastic.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/environments/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/io/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/io/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/amp.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/bitsandbytes.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/deepspeed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/double.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/half.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/precision.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/transformer_engine.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/utils.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/precision/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/py.typed +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/ddp.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/dp.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/launchers/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/launchers/launcher.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/launchers/multiprocessing.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/launchers/subprocess_script.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/launchers/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/parallel.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/registry.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/single_device.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/single_xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/apply_func.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/consolidate_checkpoint.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/data.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/device_dtype_mixin.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/device_parser.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/distributed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/enums.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/exceptions.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/init.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/load.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/logger.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/optimizer.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/rank_zero.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/registry.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/seed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/spike.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/testing/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/testing/_runif.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/throughput.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/types.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/utilities/warnings.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/wrappers.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/MANIFEST.in +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/README.md +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/__about__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/__setup__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/__version__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/_graveyard/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/_graveyard/_torchmetrics.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/_graveyard/hpu.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/_graveyard/precision.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/_graveyard/tpu.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/accelerators/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/accelerators/accelerator.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/accelerators/cpu.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/accelerators/cuda.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/accelerators/mps.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/accelerators/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/callback.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/checkpoint.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/device_stats_monitor.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/early_stopping.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/gradient_accumulation_scheduler.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/lambda_function.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/lr_finder.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/lr_monitor.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/model_summary.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/on_exception_checkpoint.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/prediction_writer.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/progress/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/progress/progress_bar.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/progress/rich_progress.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/progress/tqdm_progress.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/pruning.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/rich_model_summary.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/spike.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/stochastic_weight_avg.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/throughput_monitor.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/callbacks/timer.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/cli.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/mixins/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/mixins/hparams_mixin.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/core/optimizer.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/demos/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/demos/boring_classes.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/demos/lstm.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/demos/mnist_datamodule.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/demos/transformer.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/comet.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/csv_logs.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/logger.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/mlflow.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/neptune.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/tensorboard.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/utilities.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loggers/wandb.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/evaluation_loop.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/fetchers.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/fit_loop.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/loop.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/optimization/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/optimization/automatic.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/optimization/closure.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/optimization/manual.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/prediction_loop.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/progress.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/loops/utilities.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/overrides/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/overrides/distributed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/environments/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/io/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/io/async_plugin.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/io/checkpoint_plugin.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/io/torch_plugin.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/io/wrapper.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/io/xla_plugin.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/layer_sync.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/amp.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/bitsandbytes.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/deepspeed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/double.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/half.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/precision.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/transformer_engine.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/plugins/precision/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/advanced.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/base.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/profiler.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/simple.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/profilers/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/py.typed +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/serve/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/serve/servable_module.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/serve/servable_module_validator.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/ddp.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/launchers/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/launchers/launcher.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/launchers/multiprocessing.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/launchers/subprocess_script.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/launchers/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/parallel.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/single_device.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/single_xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/strategies/xla.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/call.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/configuration_validator.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/accelerator_connector.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/callback_connector.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/data_connector.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/logger_connector/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/logger_connector/fx_validator.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/logger_connector/logger_connector.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/logger_connector/result.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/connectors/signal_connector.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/setup.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/trainer/states.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/tuner/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/tuner/lr_finder.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/_pytree.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/argparse.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/combined_loader.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/compile.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/consolidate_checkpoint.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/data.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/deepspeed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/enums.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/exceptions.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/grads.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/memory.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/migration/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/migration/migration.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/migration/utils.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/model_helpers.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/model_registry.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/model_summary/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/model_summary/model_summary.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/model_summary/model_summary_deepspeed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/parameter_tying.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/rank_zero.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/seed.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/signature_utils.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/testing/__init__.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/testing/_runif.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/types.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/upgrade_checkpoint.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning/utilities/warnings.py +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning.egg-info/dependency_links.txt +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning.egg-info/not-zip-safe +0 -0
- {pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/pytorch_lightning.egg-info/top_level.txt +0 -0
|
@@ -46,14 +46,14 @@ _PROJECT_ROOT = os.path.dirname(os.path.dirname(__file__))
|
|
|
46
46
|
|
|
47
47
|
|
|
48
48
|
class _RequirementWithComment(Requirement):
|
|
49
|
-
|
|
49
|
+
strict_string = "# strict"
|
|
50
50
|
|
|
51
51
|
def __init__(self, *args: Any, comment: str = "", pip_argument: Optional[str] = None, **kwargs: Any) -> None:
|
|
52
52
|
super().__init__(*args, **kwargs)
|
|
53
53
|
self.comment = comment
|
|
54
54
|
assert pip_argument is None or pip_argument # sanity check that it's not an empty str
|
|
55
55
|
self.pip_argument = pip_argument
|
|
56
|
-
self.strict = self.
|
|
56
|
+
self.strict = self.strict_string in comment.lower()
|
|
57
57
|
|
|
58
58
|
def adjust(self, unfreeze: str) -> str:
|
|
59
59
|
"""Remove version restrictions unless they are strict.
|
|
@@ -62,26 +62,25 @@ class _RequirementWithComment(Requirement):
|
|
|
62
62
|
'arrow<=1.2.2,>=1.2.0'
|
|
63
63
|
>>> _RequirementWithComment("arrow<=1.2.2,>=1.2.0", comment="# strict").adjust("none")
|
|
64
64
|
'arrow<=1.2.2,>=1.2.0 # strict'
|
|
65
|
-
>>> _RequirementWithComment(
|
|
66
|
-
'arrow>=1.2.0
|
|
65
|
+
>>> _RequirementWithComment("arrow<=1.2.2,>=1.2.0", comment="# my name").adjust("all")
|
|
66
|
+
'arrow>=1.2.0'
|
|
67
67
|
>>> _RequirementWithComment("arrow>=1.2.0, <=1.2.2", comment="# strict").adjust("all")
|
|
68
68
|
'arrow<=1.2.2,>=1.2.0 # strict'
|
|
69
|
-
>>> _RequirementWithComment(
|
|
70
|
-
'arrow
|
|
69
|
+
>>> _RequirementWithComment("arrow").adjust("all")
|
|
70
|
+
'arrow'
|
|
71
71
|
>>> _RequirementWithComment("arrow>=1.2.0, <=1.2.2", comment="# cool").adjust("major")
|
|
72
72
|
'arrow<2.0,>=1.2.0'
|
|
73
73
|
>>> _RequirementWithComment("arrow>=1.2.0, <=1.2.2", comment="# strict").adjust("major")
|
|
74
74
|
'arrow<=1.2.2,>=1.2.0 # strict'
|
|
75
|
-
>>> _RequirementWithComment(
|
|
76
|
-
'arrow>=1.2.0
|
|
75
|
+
>>> _RequirementWithComment("arrow>=1.2.0").adjust("major")
|
|
76
|
+
'arrow>=1.2.0'
|
|
77
77
|
>>> _RequirementWithComment("arrow").adjust("major")
|
|
78
78
|
'arrow'
|
|
79
79
|
|
|
80
80
|
"""
|
|
81
81
|
out = str(self)
|
|
82
82
|
if self.strict:
|
|
83
|
-
return f"{out}
|
|
84
|
-
|
|
83
|
+
return f"{out} {self.strict_string}"
|
|
85
84
|
specs = [(spec.operator, spec.version) for spec in self.specifier]
|
|
86
85
|
if unfreeze == "major":
|
|
87
86
|
for operator, version in specs:
|
{pytorch_lightning-2.6.0/src/pytorch_lightning.egg-info → pytorch_lightning-2.6.0.dev0}/PKG-INFO
RENAMED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: pytorch-lightning
|
|
3
|
-
Version: 2.6.0
|
|
3
|
+
Version: 2.6.0.dev0
|
|
4
4
|
Summary: PyTorch Lightning is the lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate.
|
|
5
5
|
Home-page: https://github.com/Lightning-AI/lightning
|
|
6
6
|
Download-URL: https://github.com/Lightning-AI/lightning
|
|
@@ -36,11 +36,6 @@ Requires-Dist: torchmetrics>0.7.0
|
|
|
36
36
|
Requires-Dist: packaging>=20.0
|
|
37
37
|
Requires-Dist: typing-extensions>4.5.0
|
|
38
38
|
Requires-Dist: lightning-utilities>=0.10.0
|
|
39
|
-
Provides-Extra: examples
|
|
40
|
-
Requires-Dist: requests<2.33.0; extra == "examples"
|
|
41
|
-
Requires-Dist: torchvision>=0.16.0; extra == "examples"
|
|
42
|
-
Requires-Dist: ipython[all]>=8.0.0; extra == "examples"
|
|
43
|
-
Requires-Dist: torchmetrics>=0.10.0; extra == "examples"
|
|
44
39
|
Provides-Extra: extra
|
|
45
40
|
Requires-Dist: matplotlib>3.1; extra == "extra"
|
|
46
41
|
Requires-Dist: omegaconf>=2.2.3; extra == "extra"
|
|
@@ -49,11 +44,17 @@ Requires-Dist: jsonargparse[jsonnet,signatures]>=4.39.0; extra == "extra"
|
|
|
49
44
|
Requires-Dist: rich>=12.3.0; extra == "extra"
|
|
50
45
|
Requires-Dist: tensorboardX>=2.2; extra == "extra"
|
|
51
46
|
Requires-Dist: bitsandbytes>=0.45.2; platform_system != "Darwin" and extra == "extra"
|
|
47
|
+
Provides-Extra: strategies
|
|
48
|
+
Requires-Dist: deepspeed<0.17.0,>=0.15.0; (platform_system != "Windows" and platform_system != "Darwin") and extra == "strategies"
|
|
49
|
+
Provides-Extra: examples
|
|
50
|
+
Requires-Dist: requests<2.33.0; extra == "examples"
|
|
51
|
+
Requires-Dist: torchvision>=0.16.0; extra == "examples"
|
|
52
|
+
Requires-Dist: ipython[all]>=8.0.0; extra == "examples"
|
|
53
|
+
Requires-Dist: torchmetrics>=0.10.0; extra == "examples"
|
|
52
54
|
Provides-Extra: test
|
|
53
|
-
Requires-Dist: coverage==7.
|
|
54
|
-
Requires-Dist: coverage==7.10.7; python_version < "3.10" and extra == "test"
|
|
55
|
+
Requires-Dist: coverage==7.10.7; extra == "test"
|
|
55
56
|
Requires-Dist: pytest==8.4.2; extra == "test"
|
|
56
|
-
Requires-Dist: pytest-cov==
|
|
57
|
+
Requires-Dist: pytest-cov==6.3.0; extra == "test"
|
|
57
58
|
Requires-Dist: pytest-timeout==2.4.0; extra == "test"
|
|
58
59
|
Requires-Dist: pytest-rerunfailures==16.0.1; python_version < "3.10" and extra == "test"
|
|
59
60
|
Requires-Dist: pytest-rerunfailures==16.1; python_version >= "3.10" and extra == "test"
|
|
@@ -64,15 +65,13 @@ Requires-Dist: numpy>1.20.0; extra == "test"
|
|
|
64
65
|
Requires-Dist: onnx>1.12.0; extra == "test"
|
|
65
66
|
Requires-Dist: onnxruntime>=1.12.0; extra == "test"
|
|
66
67
|
Requires-Dist: onnxscript>=0.1.0; extra == "test"
|
|
67
|
-
Requires-Dist: psutil<7.2
|
|
68
|
+
Requires-Dist: psutil<7.1.2; extra == "test"
|
|
68
69
|
Requires-Dist: pandas>2.0; extra == "test"
|
|
69
70
|
Requires-Dist: fastapi; extra == "test"
|
|
70
71
|
Requires-Dist: uvicorn; extra == "test"
|
|
71
72
|
Requires-Dist: tensorboard>=2.11; extra == "test"
|
|
72
73
|
Requires-Dist: torch-tensorrt; (platform_system == "Linux" and python_version >= "3.12") and extra == "test"
|
|
73
74
|
Requires-Dist: huggingface-hub; extra == "test"
|
|
74
|
-
Provides-Extra: strategies
|
|
75
|
-
Requires-Dist: deepspeed<0.17.0,>=0.15.0; (platform_system != "Windows" and platform_system != "Darwin") and extra == "strategies"
|
|
76
75
|
Provides-Extra: deepspeed
|
|
77
76
|
Requires-Dist: deepspeed<0.17.0,>=0.15.0; (platform_system != "Windows" and platform_system != "Darwin") and extra == "deepspeed"
|
|
78
77
|
Provides-Extra: all
|
|
@@ -101,10 +100,9 @@ Requires-Dist: requests<2.33.0; extra == "dev"
|
|
|
101
100
|
Requires-Dist: torchvision>=0.16.0; extra == "dev"
|
|
102
101
|
Requires-Dist: ipython[all]>=8.0.0; extra == "dev"
|
|
103
102
|
Requires-Dist: torchmetrics>=0.10.0; extra == "dev"
|
|
104
|
-
Requires-Dist: coverage==7.
|
|
105
|
-
Requires-Dist: coverage==7.10.7; python_version < "3.10" and extra == "dev"
|
|
103
|
+
Requires-Dist: coverage==7.10.7; extra == "dev"
|
|
106
104
|
Requires-Dist: pytest==8.4.2; extra == "dev"
|
|
107
|
-
Requires-Dist: pytest-cov==
|
|
105
|
+
Requires-Dist: pytest-cov==6.3.0; extra == "dev"
|
|
108
106
|
Requires-Dist: pytest-timeout==2.4.0; extra == "dev"
|
|
109
107
|
Requires-Dist: pytest-rerunfailures==16.0.1; python_version < "3.10" and extra == "dev"
|
|
110
108
|
Requires-Dist: pytest-rerunfailures==16.1; python_version >= "3.10" and extra == "dev"
|
|
@@ -115,7 +113,7 @@ Requires-Dist: numpy>1.20.0; extra == "dev"
|
|
|
115
113
|
Requires-Dist: onnx>1.12.0; extra == "dev"
|
|
116
114
|
Requires-Dist: onnxruntime>=1.12.0; extra == "dev"
|
|
117
115
|
Requires-Dist: onnxscript>=0.1.0; extra == "dev"
|
|
118
|
-
Requires-Dist: psutil<7.2
|
|
116
|
+
Requires-Dist: psutil<7.1.2; extra == "dev"
|
|
119
117
|
Requires-Dist: pandas>2.0; extra == "dev"
|
|
120
118
|
Requires-Dist: fastapi; extra == "dev"
|
|
121
119
|
Requires-Dist: uvicorn; extra == "dev"
|
|
@@ -166,7 +164,7 @@ ______________________________________________________________________
|
|
|
166
164
|
[](https://hub.docker.com/r/pytorchlightning/pytorch_lightning)
|
|
167
165
|
[](https://codecov.io/gh/Lightning-AI/pytorch-lightning)
|
|
168
166
|
|
|
169
|
-
[](https://lightning.ai/docs/pytorch/stable/)[](https://discord.gg/VptPCZkGNa)
|
|
170
168
|
[](https://github.com/Lightning-AI/pytorch-lightning/blob/master/LICENSE)
|
|
171
169
|
|
|
172
170
|
<!--
|
|
@@ -92,6 +92,9 @@ ignore = [
|
|
|
92
92
|
"src/**" = [
|
|
93
93
|
"S101", # todo: Use of `assert` detected
|
|
94
94
|
"S113", # todo: Probable use of requests call without timeout
|
|
95
|
+
"S301", # todo: `pickle` and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue
|
|
96
|
+
"S324", # todo: Probable use of insecure hash functions in `hashlib`
|
|
97
|
+
"S403", # todo: `pickle`, `cPickle`, `dill`, and `shelve` modules are possibly insecure
|
|
95
98
|
"S404", # todo: `subprocess` module is possibly insecure
|
|
96
99
|
"S602", # todo: `subprocess` call with `shell=True` identified, security issue
|
|
97
100
|
"S603", # todo: `subprocess` call: check for execution of untrusted input
|
|
@@ -103,14 +106,18 @@ ignore = [
|
|
|
103
106
|
"tests/**" = [
|
|
104
107
|
"S101", # Use of `assert` detected
|
|
105
108
|
"S301", # `pickle` and modules that wrap it can be unsafe when used to deserialize untrusted data, possible security issue
|
|
109
|
+
"S113", # todo: Probable use of requests call without timeout
|
|
106
110
|
"S311", # todo: Standard pseudo-random generators are not suitable for cryptographic purposes
|
|
107
111
|
"S108", # todo: Probable insecure usage of temporary file or directory: "/tmp/sys-customizations-sync"
|
|
112
|
+
"S202", # Uses of `tarfile.extractall()`
|
|
108
113
|
"S403", # `pickle`, `cPickle`, `dill`, and `shelve` modules are possibly insecure
|
|
109
114
|
"S404", # `subprocess` module is possibly insecure
|
|
110
115
|
"S602", # todo: `subprocess` call with `shell=True` identified, security issue
|
|
111
116
|
"S603", # todo: `subprocess` call: check for execution of untrusted input
|
|
112
117
|
"S605", # todo: Starting a process with a shell: seems safe, but may be changed in the future; consider rewriting without `shell`
|
|
113
118
|
"S607", # todo: Starting a process with a partial executable path
|
|
119
|
+
"RET504", # todo:Unnecessary variable assignment before `return` statement
|
|
120
|
+
"PT004", # todo: Fixture `tmpdir_unittest_fixture` does not return anything, add leading underscore
|
|
114
121
|
"PT012", # todo: `pytest.raises()` block should contain a single simple statement
|
|
115
122
|
"PT019", # todo: Fixture `_` without value is injected as parameter, use `@pytest.mark.usefixtures` instead
|
|
116
123
|
]
|
|
@@ -172,7 +179,6 @@ filterwarnings = [
|
|
|
172
179
|
# "error::DeprecationWarning",
|
|
173
180
|
"error::FutureWarning",
|
|
174
181
|
"ignore::FutureWarning:onnxscript", # Temporary ignore until onnxscript is updated
|
|
175
|
-
"ignore:You are using `torch.load` with `weights_only=False`.*:FutureWarning",
|
|
176
182
|
]
|
|
177
183
|
xfail_strict = true
|
|
178
184
|
junit_duration_report = "call"
|
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
coverage ==7.
|
|
2
|
-
coverage ==7.10.7; python_version < "3.10"
|
|
1
|
+
coverage ==7.10.7
|
|
3
2
|
numpy >=1.21.0, <1.27.0
|
|
4
3
|
pytest ==8.4.2
|
|
5
|
-
pytest-cov ==
|
|
4
|
+
pytest-cov ==6.3.0
|
|
6
5
|
pytest-timeout ==2.4.0
|
|
7
6
|
pytest-rerunfailures ==16.0.1; python_version < "3.10"
|
|
8
7
|
pytest-rerunfailures ==16.1; python_version >= "3.10"
|
|
@@ -1,9 +1,9 @@
|
|
|
1
1
|
-r ../docs.txt
|
|
2
2
|
|
|
3
3
|
nbformat # used for generate empty notebook
|
|
4
|
-
ipython[notebook] <9.
|
|
4
|
+
ipython[notebook] <9.7.0
|
|
5
5
|
setuptools<81.0 # workaround for `error in ipython setup command: use_2to3 is invalid.`
|
|
6
6
|
|
|
7
|
-
onnxscript >= 0.2.2, < 0.
|
|
7
|
+
onnxscript >= 0.2.2, < 0.5.0
|
|
8
8
|
|
|
9
9
|
#-r ../../_notebooks/.actions/requires.txt
|
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
matplotlib>3.1, <3.11.0
|
|
6
6
|
omegaconf >=2.2.3, <2.4.0
|
|
7
7
|
hydra-core >=1.2.0, <1.4.0
|
|
8
|
-
jsonargparse[signatures,jsonnet] >=4.39.0, <4.
|
|
9
|
-
rich >=12.3.0, <14.
|
|
8
|
+
jsonargparse[signatures,jsonnet] >=4.39.0, <4.43.0
|
|
9
|
+
rich >=12.3.0, <14.2.0
|
|
10
10
|
tensorboardX >=2.2, <2.7.0 # min version is set by torch.onnx missing attribute
|
|
11
11
|
bitsandbytes >=0.45.2,<0.47.0; platform_system != "Darwin"
|
|
@@ -1,7 +1,6 @@
|
|
|
1
|
-
coverage ==7.
|
|
2
|
-
coverage ==7.10.7; python_version < "3.10"
|
|
1
|
+
coverage ==7.10.7
|
|
3
2
|
pytest ==8.4.2
|
|
4
|
-
pytest-cov ==
|
|
3
|
+
pytest-cov ==6.3.0
|
|
5
4
|
pytest-timeout ==2.4.0
|
|
6
5
|
pytest-rerunfailures ==16.0.1; python_version < "3.10"
|
|
7
6
|
pytest-rerunfailures ==16.1; python_version >= "3.10"
|
|
@@ -13,8 +12,8 @@ scikit-learn >0.22.1, <1.8.0
|
|
|
13
12
|
numpy >1.20.0, <1.27.0
|
|
14
13
|
onnx >1.12.0, <1.20.0
|
|
15
14
|
onnxruntime >=1.12.0, <1.24.0
|
|
16
|
-
onnxscript >= 0.1.0, < 0.
|
|
17
|
-
psutil <7.2
|
|
15
|
+
onnxscript >= 0.1.0, < 0.5.0
|
|
16
|
+
psutil <7.1.2 # for `DeviceStatsMonitor`
|
|
18
17
|
pandas >2.0, <2.4.0 # needed in benchmarks
|
|
19
18
|
fastapi # for `ServableModuleValidator` # not setting version as re-defined in App
|
|
20
19
|
uvicorn # for `ServableModuleValidator` # not setting version as re-defined in App
|
|
@@ -5,42 +5,29 @@ 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
|
-
|
|
13
13
|
|
|
14
|
-
### Changed
|
|
15
|
-
|
|
16
|
-
-
|
|
17
14
|
|
|
18
15
|
### Removed
|
|
19
16
|
|
|
20
17
|
-
|
|
21
18
|
|
|
22
19
|
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
### Added
|
|
26
|
-
|
|
27
|
-
- Added kwargs-filtering for `Fabric.call` to support different callback method signatures ([#21258](https://github.com/Lightning-AI/pytorch-lightning/pull/21258))
|
|
20
|
+
### Changed
|
|
28
21
|
|
|
22
|
+
-
|
|
29
23
|
|
|
30
|
-
### Changed
|
|
31
24
|
|
|
32
|
-
- Expose `weights_only` argument for `Trainer.{fit,validate,test,predict}` and let `torch` handle default value ([#21072](https://github.com/Lightning-AI/pytorch-lightning/pull/21072))
|
|
33
25
|
- Set `_DeviceDtypeModuleMixin._device` from torch's default device function ([#21164](https://github.com/Lightning-AI/pytorch-lightning/pull/21164))
|
|
34
26
|
|
|
35
27
|
|
|
36
28
|
### Fixed
|
|
37
29
|
|
|
38
|
-
- Fixed
|
|
39
|
-
|
|
40
|
-
- Learning rate scheduler is stepped at the end of epoch when `on_train_batch_start` returns -1 ([#21296](https://github.com/Lightning-AI/pytorch-lightning/issues/21296)).
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
- Fixed FSDP mixed precision semantics and added user warning ([#21361](https://github.com/Lightning-AI/pytorch-lightning/pull/21361))
|
|
30
|
+
- Fixed `EADDRINUSE` errors in distributed tests with port manager and retry logic ([#21309](https://github.com/Lightning-AI/pytorch-lightning/pull/21309))
|
|
44
31
|
|
|
45
32
|
|
|
46
33
|
---
|
|
@@ -985,34 +985,6 @@ class Fabric:
|
|
|
985
985
|
)
|
|
986
986
|
return self._wrap_and_launch(function, self, *args, **kwargs)
|
|
987
987
|
|
|
988
|
-
def _filter_kwargs_for_callback(self, method: Callable, kwargs: dict[str, Any]) -> dict[str, Any]:
|
|
989
|
-
"""Filter keyword arguments to only include those that match the callback method's signature.
|
|
990
|
-
|
|
991
|
-
Args:
|
|
992
|
-
method: The callback method to inspect
|
|
993
|
-
kwargs: The keyword arguments to filter
|
|
994
|
-
|
|
995
|
-
Returns:
|
|
996
|
-
A filtered dictionary of keyword arguments that match the method's signature
|
|
997
|
-
|
|
998
|
-
"""
|
|
999
|
-
try:
|
|
1000
|
-
sig = inspect.signature(method)
|
|
1001
|
-
except (ValueError, TypeError):
|
|
1002
|
-
# If we can't inspect the signature, pass all kwargs to maintain backward compatibility
|
|
1003
|
-
return kwargs
|
|
1004
|
-
|
|
1005
|
-
filtered_kwargs = {}
|
|
1006
|
-
for name, param in sig.parameters.items():
|
|
1007
|
-
# If the method accepts **kwargs, pass all original kwargs directly
|
|
1008
|
-
if param.kind == inspect.Parameter.VAR_KEYWORD:
|
|
1009
|
-
return kwargs
|
|
1010
|
-
# If the parameter exists in the incoming kwargs, add it to filtered_kwargs
|
|
1011
|
-
if name in kwargs:
|
|
1012
|
-
filtered_kwargs[name] = kwargs[name]
|
|
1013
|
-
|
|
1014
|
-
return filtered_kwargs
|
|
1015
|
-
|
|
1016
988
|
def call(self, hook_name: str, *args: Any, **kwargs: Any) -> None:
|
|
1017
989
|
r"""Trigger the callback methods with the given name and arguments.
|
|
1018
990
|
|
|
@@ -1022,9 +994,7 @@ class Fabric:
|
|
|
1022
994
|
Args:
|
|
1023
995
|
hook_name: The name of the callback method.
|
|
1024
996
|
*args: Optional positional arguments that get passed down to the callback method.
|
|
1025
|
-
**kwargs: Optional keyword arguments that get passed down to the callback method.
|
|
1026
|
-
that are not present in the callback's signature will be filtered out automatically, allowing
|
|
1027
|
-
callbacks to have different signatures for the same hook.
|
|
997
|
+
**kwargs: Optional keyword arguments that get passed down to the callback method.
|
|
1028
998
|
|
|
1029
999
|
Example::
|
|
1030
1000
|
|
|
@@ -1046,8 +1016,13 @@ class Fabric:
|
|
|
1046
1016
|
)
|
|
1047
1017
|
continue
|
|
1048
1018
|
|
|
1049
|
-
|
|
1050
|
-
|
|
1019
|
+
method(*args, **kwargs)
|
|
1020
|
+
|
|
1021
|
+
# TODO(fabric): handle the following signatures
|
|
1022
|
+
# method(self, fabric|trainer, x, y=1)
|
|
1023
|
+
# method(self, fabric|trainer, *args, x, y=1)
|
|
1024
|
+
# method(self, *args, y=1)
|
|
1025
|
+
# method(self, *args, **kwargs)
|
|
1051
1026
|
|
|
1052
1027
|
def log(self, name: str, value: Any, step: Optional[int] = None) -> None:
|
|
1053
1028
|
"""Log a scalar to all loggers that were added to Fabric.
|
|
@@ -13,11 +13,11 @@
|
|
|
13
13
|
# limitations under the License.
|
|
14
14
|
|
|
15
15
|
import os
|
|
16
|
-
import socket
|
|
17
16
|
|
|
18
17
|
from typing_extensions import override
|
|
19
18
|
|
|
20
19
|
from lightning_fabric.plugins.environments.cluster_environment import ClusterEnvironment
|
|
20
|
+
from lightning_fabric.utilities.port_manager import get_port_manager
|
|
21
21
|
from lightning_fabric.utilities.rank_zero import rank_zero_only
|
|
22
22
|
|
|
23
23
|
|
|
@@ -104,21 +104,38 @@ class LightningEnvironment(ClusterEnvironment):
|
|
|
104
104
|
if "WORLD_SIZE" in os.environ:
|
|
105
105
|
del os.environ["WORLD_SIZE"]
|
|
106
106
|
|
|
107
|
+
if self._main_port != -1:
|
|
108
|
+
get_port_manager().release_port(self._main_port)
|
|
109
|
+
self._main_port = -1
|
|
110
|
+
|
|
111
|
+
os.environ.pop("MASTER_PORT", None)
|
|
112
|
+
os.environ.pop("MASTER_ADDR", None)
|
|
113
|
+
|
|
107
114
|
|
|
108
115
|
def find_free_network_port() -> int:
|
|
109
116
|
"""Finds a free port on localhost.
|
|
110
117
|
|
|
111
|
-
If the environment variable `STANDALONE_PORT` is set, its value is used as the port number.
|
|
112
|
-
|
|
113
118
|
It is useful in single-node training when we don't want to connect to a real main node but have to set the
|
|
114
119
|
`MASTER_PORT` environment variable.
|
|
115
120
|
|
|
121
|
+
The allocated port is reserved and won't be returned by subsequent calls until it's explicitly released.
|
|
122
|
+
|
|
123
|
+
Returns:
|
|
124
|
+
A port number that is reserved and free at the time of allocation
|
|
125
|
+
|
|
116
126
|
"""
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
127
|
+
# If an external launcher already specified a MASTER_PORT (for example, torch.distributed.spawn or
|
|
128
|
+
# multiprocessing helpers), reserve it through the port manager so no other test reuses the same number.
|
|
129
|
+
if "MASTER_PORT" in os.environ:
|
|
130
|
+
master_port_str = os.environ["MASTER_PORT"]
|
|
131
|
+
try:
|
|
132
|
+
existing_port = int(master_port_str)
|
|
133
|
+
except ValueError:
|
|
134
|
+
pass
|
|
135
|
+
else:
|
|
136
|
+
port_manager = get_port_manager()
|
|
137
|
+
if port_manager.reserve_existing_port(existing_port):
|
|
138
|
+
return existing_port
|
|
139
|
+
|
|
140
|
+
port_manager = get_port_manager()
|
|
141
|
+
return port_manager.allocate_port()
|
|
@@ -73,11 +73,7 @@ class MPIEnvironment(ClusterEnvironment):
|
|
|
73
73
|
if not _MPI4PY_AVAILABLE:
|
|
74
74
|
return False
|
|
75
75
|
|
|
76
|
-
|
|
77
|
-
# mpi4py may be installed without MPI being present
|
|
78
|
-
from mpi4py import MPI
|
|
79
|
-
except ImportError:
|
|
80
|
-
return False
|
|
76
|
+
from mpi4py import MPI
|
|
81
77
|
|
|
82
78
|
return MPI.COMM_WORLD.Get_size() > 1
|
|
83
79
|
|
|
@@ -47,20 +47,13 @@ class CheckpointIO(ABC):
|
|
|
47
47
|
"""
|
|
48
48
|
|
|
49
49
|
@abstractmethod
|
|
50
|
-
def load_checkpoint(
|
|
51
|
-
self, path: _PATH, map_location: Optional[Any] = None, weights_only: Optional[bool] = None
|
|
52
|
-
) -> dict[str, Any]:
|
|
50
|
+
def load_checkpoint(self, path: _PATH, map_location: Optional[Any] = None) -> dict[str, Any]:
|
|
53
51
|
"""Load checkpoint from a path when resuming or loading ckpt for test/validate/predict stages.
|
|
54
52
|
|
|
55
53
|
Args:
|
|
56
54
|
path: Path to checkpoint
|
|
57
55
|
map_location: a function, :class:`torch.device`, string or a dict specifying how to remap storage
|
|
58
56
|
locations.
|
|
59
|
-
weights_only: Defaults to ``None``. If ``True``, restricts loading to ``state_dicts`` of plain
|
|
60
|
-
``torch.Tensor`` and other primitive types. If loading a checkpoint from a trusted source that contains
|
|
61
|
-
an ``nn.Module``, use ``weights_only=False``. If loading checkpoint from an untrusted source, we
|
|
62
|
-
recommend using ``weights_only=True``. For more information, please refer to the
|
|
63
|
-
`PyTorch Developer Notes on Serialization Semantics <https://docs.pytorch.org/docs/main/notes/serialization.html#id3>`_.
|
|
64
57
|
|
|
65
58
|
Returns: The loaded checkpoint.
|
|
66
59
|
|
{pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/plugins/io/torch_io.py
RENAMED
|
@@ -59,10 +59,7 @@ class TorchCheckpointIO(CheckpointIO):
|
|
|
59
59
|
|
|
60
60
|
@override
|
|
61
61
|
def load_checkpoint(
|
|
62
|
-
self,
|
|
63
|
-
path: _PATH,
|
|
64
|
-
map_location: Optional[Callable] = lambda storage, loc: storage,
|
|
65
|
-
weights_only: Optional[bool] = None,
|
|
62
|
+
self, path: _PATH, map_location: Optional[Callable] = lambda storage, loc: storage
|
|
66
63
|
) -> dict[str, Any]:
|
|
67
64
|
"""Loads checkpoint using :func:`torch.load`, with additional handling for ``fsspec`` remote loading of files.
|
|
68
65
|
|
|
@@ -70,11 +67,6 @@ class TorchCheckpointIO(CheckpointIO):
|
|
|
70
67
|
path: Path to checkpoint
|
|
71
68
|
map_location: a function, :class:`torch.device`, string or a dict specifying how to remap storage
|
|
72
69
|
locations.
|
|
73
|
-
weights_only: Defaults to ``None``. If ``True``, restricts loading to ``state_dicts`` of plain
|
|
74
|
-
``torch.Tensor`` and other primitive types. If loading a checkpoint from a trusted source that contains
|
|
75
|
-
an ``nn.Module``, use ``weights_only=False``. If loading checkpoint from an untrusted source, we
|
|
76
|
-
recommend using ``weights_only=True``. For more information, please refer to the
|
|
77
|
-
`PyTorch Developer Notes on Serialization Semantics <https://docs.pytorch.org/docs/main/notes/serialization.html#id3>`_.
|
|
78
70
|
|
|
79
71
|
Returns: The loaded checkpoint.
|
|
80
72
|
|
|
@@ -88,7 +80,7 @@ class TorchCheckpointIO(CheckpointIO):
|
|
|
88
80
|
if not fs.exists(path):
|
|
89
81
|
raise FileNotFoundError(f"Checkpoint file not found: {path}")
|
|
90
82
|
|
|
91
|
-
return pl_load(path, map_location=map_location
|
|
83
|
+
return pl_load(path, map_location=map_location)
|
|
92
84
|
|
|
93
85
|
@override
|
|
94
86
|
def remove_checkpoint(self, path: _PATH) -> None:
|
|
@@ -24,7 +24,6 @@ from typing_extensions import get_args, override
|
|
|
24
24
|
from lightning_fabric.plugins.precision.amp import _optimizer_handles_unscaling
|
|
25
25
|
from lightning_fabric.plugins.precision.precision import Precision
|
|
26
26
|
from lightning_fabric.plugins.precision.utils import _convert_fp_tensor, _DtypeContextManager
|
|
27
|
-
from lightning_fabric.utilities import rank_zero_warn
|
|
28
27
|
from lightning_fabric.utilities.types import Optimizable
|
|
29
28
|
|
|
30
29
|
if TYPE_CHECKING:
|
|
@@ -85,18 +84,19 @@ class FSDPPrecision(Precision):
|
|
|
85
84
|
def mixed_precision_config(self) -> "TorchMixedPrecision":
|
|
86
85
|
from torch.distributed.fsdp.fully_sharded_data_parallel import MixedPrecision as TorchMixedPrecision
|
|
87
86
|
|
|
88
|
-
if self.precision
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
87
|
+
if self.precision == "16-mixed":
|
|
88
|
+
param_dtype = torch.float32
|
|
89
|
+
reduce_dtype = buffer_dtype = torch.float16
|
|
90
|
+
elif self.precision == "bf16-mixed":
|
|
91
|
+
param_dtype = torch.float32
|
|
92
|
+
reduce_dtype = buffer_dtype = torch.bfloat16
|
|
93
|
+
elif self.precision == "16-true":
|
|
95
94
|
param_dtype = reduce_dtype = buffer_dtype = torch.float16
|
|
96
|
-
elif self.precision
|
|
95
|
+
elif self.precision == "bf16-true":
|
|
97
96
|
param_dtype = reduce_dtype = buffer_dtype = torch.bfloat16
|
|
98
97
|
elif self.precision == "32-true":
|
|
99
|
-
param_dtype =
|
|
98
|
+
param_dtype = torch.float32
|
|
99
|
+
reduce_dtype = buffer_dtype = torch.float32
|
|
100
100
|
else:
|
|
101
101
|
raise ValueError(f"Was unable to infer precision type, received {self.precision!r}.")
|
|
102
102
|
|
|
@@ -473,7 +473,6 @@ class DeepSpeedStrategy(DDPStrategy, _Sharded):
|
|
|
473
473
|
path: _PATH,
|
|
474
474
|
state: Optional[Union[Module, Optimizer, dict[str, Union[Module, Optimizer, Any]]]] = None,
|
|
475
475
|
strict: bool = True,
|
|
476
|
-
weights_only: Optional[bool] = None,
|
|
477
476
|
) -> dict[str, Any]:
|
|
478
477
|
"""Load the contents from a checkpoint and restore the state of the given objects.
|
|
479
478
|
|
|
@@ -499,7 +498,7 @@ class DeepSpeedStrategy(DDPStrategy, _Sharded):
|
|
|
499
498
|
# This code path to enables loading a checkpoint from a non-deepspeed checkpoint or from
|
|
500
499
|
# a consolidated checkpoint
|
|
501
500
|
path = self.broadcast(path)
|
|
502
|
-
return super().load_checkpoint(path=path, state=state, strict=strict
|
|
501
|
+
return super().load_checkpoint(path=path, state=state, strict=strict)
|
|
503
502
|
|
|
504
503
|
if not state:
|
|
505
504
|
raise ValueError(
|
{pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/fsdp.py
RENAMED
|
@@ -516,7 +516,6 @@ class FSDPStrategy(ParallelStrategy, _Sharded):
|
|
|
516
516
|
path: _PATH,
|
|
517
517
|
state: Optional[Union[Module, Optimizer, dict[str, Union[Module, Optimizer, Any]]]] = None,
|
|
518
518
|
strict: bool = True,
|
|
519
|
-
weights_only: Optional[bool] = None,
|
|
520
519
|
) -> dict[str, Any]:
|
|
521
520
|
"""Load the contents from a checkpoint and restore the state of the given objects."""
|
|
522
521
|
if not state:
|
|
@@ -587,7 +586,7 @@ class FSDPStrategy(ParallelStrategy, _Sharded):
|
|
|
587
586
|
optim.load_state_dict(flattened_osd)
|
|
588
587
|
|
|
589
588
|
# Load metadata (anything not a module or optimizer)
|
|
590
|
-
metadata = torch.load(path / _METADATA_FILENAME
|
|
589
|
+
metadata = torch.load(path / _METADATA_FILENAME)
|
|
591
590
|
requested_metadata_keys = state.keys() - modules.keys() - optimizers.keys()
|
|
592
591
|
_validate_keys_for_strict_loading(requested_metadata_keys, metadata.keys(), strict=strict)
|
|
593
592
|
for key in requested_metadata_keys:
|
|
@@ -275,7 +275,6 @@ class ModelParallelStrategy(ParallelStrategy):
|
|
|
275
275
|
path: _PATH,
|
|
276
276
|
state: Optional[Union[Module, Optimizer, dict[str, Union[Module, Optimizer, Any]]]] = None,
|
|
277
277
|
strict: bool = True,
|
|
278
|
-
weights_only: Optional[bool] = None,
|
|
279
278
|
) -> dict[str, Any]:
|
|
280
279
|
"""Load the contents from a checkpoint and restore the state of the given objects."""
|
|
281
280
|
if not state:
|
|
@@ -296,7 +295,7 @@ class ModelParallelStrategy(ParallelStrategy):
|
|
|
296
295
|
f"Loading a single optimizer object from a checkpoint is not supported yet with {type(self).__name__}."
|
|
297
296
|
)
|
|
298
297
|
|
|
299
|
-
return _load_checkpoint(path=path, state=state, strict=strict
|
|
298
|
+
return _load_checkpoint(path=path, state=state, strict=strict)
|
|
300
299
|
|
|
301
300
|
def _setup_distributed(self) -> None:
|
|
302
301
|
reset_seed()
|
|
@@ -412,7 +411,6 @@ def _load_checkpoint(
|
|
|
412
411
|
state: dict[str, Union[Module, Optimizer, Any]],
|
|
413
412
|
strict: bool = True,
|
|
414
413
|
optimizer_states_from_list: bool = False,
|
|
415
|
-
weights_only: Optional[bool] = None,
|
|
416
414
|
) -> dict[str, Any]:
|
|
417
415
|
from torch.distributed.checkpoint.state_dict import (
|
|
418
416
|
StateDictOptions,
|
|
@@ -451,7 +449,7 @@ def _load_checkpoint(
|
|
|
451
449
|
set_optimizer_state_dict(module, optim, optim_state_dict=optim_state[optim_key], options=state_dict_options)
|
|
452
450
|
|
|
453
451
|
# Load metadata (anything not a module or optimizer)
|
|
454
|
-
metadata = torch.load(path / _METADATA_FILENAME
|
|
452
|
+
metadata = torch.load(path / _METADATA_FILENAME)
|
|
455
453
|
requested_metadata_keys = state.keys() - modules.keys() - optimizers.keys()
|
|
456
454
|
_validate_keys_for_strict_loading(requested_metadata_keys, metadata.keys(), strict=strict)
|
|
457
455
|
for key in requested_metadata_keys:
|
|
@@ -463,7 +461,7 @@ def _load_checkpoint(
|
|
|
463
461
|
return metadata
|
|
464
462
|
|
|
465
463
|
if _is_full_checkpoint(path):
|
|
466
|
-
checkpoint = torch.load(path, mmap=True, map_location="cpu", weights_only=
|
|
464
|
+
checkpoint = torch.load(path, mmap=True, map_location="cpu", weights_only=False)
|
|
467
465
|
_load_raw_module_state(checkpoint.pop(module_key), module, strict=strict)
|
|
468
466
|
|
|
469
467
|
state_dict_options = StateDictOptions(
|
{pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/strategy.py
RENAMED
|
@@ -310,7 +310,6 @@ class Strategy(ABC):
|
|
|
310
310
|
path: _PATH,
|
|
311
311
|
state: Optional[Union[Module, Optimizer, dict[str, Union[Module, Optimizer, Any]]]] = None,
|
|
312
312
|
strict: bool = True,
|
|
313
|
-
weights_only: Optional[bool] = None,
|
|
314
313
|
) -> dict[str, Any]:
|
|
315
314
|
"""Load the contents from a checkpoint and restore the state of the given objects.
|
|
316
315
|
|
|
@@ -331,7 +330,7 @@ class Strategy(ABC):
|
|
|
331
330
|
|
|
332
331
|
"""
|
|
333
332
|
torch.cuda.empty_cache()
|
|
334
|
-
checkpoint = self.checkpoint_io.load_checkpoint(path
|
|
333
|
+
checkpoint = self.checkpoint_io.load_checkpoint(path)
|
|
335
334
|
if not state:
|
|
336
335
|
return checkpoint
|
|
337
336
|
|
{pytorch_lightning-2.6.0 → pytorch_lightning-2.6.0.dev0}/src/lightning_fabric/strategies/xla_fsdp.py
RENAMED
|
@@ -516,7 +516,6 @@ class XLAFSDPStrategy(ParallelStrategy, _Sharded):
|
|
|
516
516
|
path: _PATH,
|
|
517
517
|
state: Optional[Union[Module, Optimizer, dict[str, Union[Module, Optimizer, Any]]]] = None,
|
|
518
518
|
strict: bool = True,
|
|
519
|
-
weights_only: Optional[bool] = None,
|
|
520
519
|
) -> dict[str, Any]:
|
|
521
520
|
"""Given a folder, load the contents from a checkpoint and restore the state of the given objects.
|
|
522
521
|
|
|
@@ -609,7 +608,7 @@ class XLAFSDPStrategy(ParallelStrategy, _Sharded):
|
|
|
609
608
|
)
|
|
610
609
|
if "model" not in state or not isinstance(model := state["model"], torch.nn.Module):
|
|
611
610
|
raise NotImplementedError("XLAFSDP only supports a single model instance with 'model' as the key.")
|
|
612
|
-
full_ckpt = torch.load(path
|
|
611
|
+
full_ckpt = torch.load(path)
|
|
613
612
|
model.load_state_dict(full_ckpt.pop("model"), strict=strict)
|
|
614
613
|
return full_ckpt
|
|
615
614
|
|