diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e0b52f31804d6..3e8794fb5f26e 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -18,3 +18,6 @@ /README.md @williamfalcon @lantiga /src/pytorch_lightning/__about__.py @williamfalcon @lantiga @borda /src/lightning_fabric/__about__.py @williamfalcon @lantiga @borda + +/src/lightning/fabric/loggers @williamfalcon +/src/lightning/pytorch/loggers @williamfalcon diff --git a/.github/workflows/_legacy-checkpoints.yml b/.github/workflows/_legacy-checkpoints.yml index 4107633424388..de9db06251e77 100644 --- a/.github/workflows/_legacy-checkpoints.yml +++ b/.github/workflows/_legacy-checkpoints.yml @@ -51,7 +51,7 @@ defaults: jobs: create-legacy-ckpts: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 outputs: pl-version: ${{ steps.decide-version.outputs.pl-version }} steps: @@ -124,7 +124,7 @@ jobs: aws s3 cp $AWS_RUN checkpoints.zip s3://pl-public-data/legacy/ --acl public-read add-ckpt-test: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 if: inputs.create_pr needs: create-legacy-ckpts env: diff --git a/.github/workflows/ci-tests-fabric.yml b/.github/workflows/ci-tests-fabric.yml index f3061de2010db..b94772b4fbcbc 100644 --- a/.github/workflows/ci-tests-fabric.yml +++ b/.github/workflows/ci-tests-fabric.yml @@ -41,13 +41,13 @@ jobs: include: # only run PyTorch latest - { os: "macOS-14", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } - - { os: "ubuntu-20.04", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } + - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } - { os: "windows-2022", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } - { os: "macOS-14", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } - - { os: "ubuntu-20.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } + - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } - { os: "windows-2022", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } - { os: "macOS-14", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } - - { os: "ubuntu-20.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } + - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } - { os: "windows-2022", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } - { os: "macOS-14", pkg-name: "lightning", python-version: "3.12.7", pytorch-version: "2.4.1" } - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.12.7", pytorch-version: "2.4.1" } @@ -61,11 +61,11 @@ jobs: - { os: "windows-2022", pkg-name: "fabric", python-version: "3.12.7", pytorch-version: "2.6" } # "oldest" versions tests, only on minimum Python - { os: "macOS-14", pkg-name: "fabric", pytorch-version: "2.1", requires: "oldest" } - - { os: "ubuntu-20.04", pkg-name: "fabric", pytorch-version: "2.1", requires: "oldest" } + - { os: "ubuntu-22.04", pkg-name: "fabric", pytorch-version: "2.1", requires: "oldest" } - { os: "windows-2022", pkg-name: "fabric", pytorch-version: "2.1", requires: "oldest" } # "fabric" installs the standalone package - { os: "macOS-14", pkg-name: "fabric", python-version: "3.10", pytorch-version: "2.5" } - - { os: "ubuntu-20.04", pkg-name: "fabric", python-version: "3.10", pytorch-version: "2.5" } + - { os: "ubuntu-22.04", pkg-name: "fabric", python-version: "3.10", pytorch-version: "2.5" } - { os: "windows-2022", pkg-name: "fabric", python-version: "3.10", pytorch-version: "2.5" } # adding recently cut Torch 2.7 - FUTURE # - { os: "macOS-14", pkg-name: "fabric", python-version: "3.12", pytorch-version: "2.7" } diff --git a/.github/workflows/ci-tests-pytorch.yml b/.github/workflows/ci-tests-pytorch.yml index 7a769d5b52d1a..a731723b25fad 100644 --- a/.github/workflows/ci-tests-pytorch.yml +++ b/.github/workflows/ci-tests-pytorch.yml @@ -45,13 +45,13 @@ jobs: include: # only run PyTorch latest - { os: "macOS-14", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } - - { os: "ubuntu-20.04", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } + - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } - { os: "windows-2022", pkg-name: "lightning", python-version: "3.10", pytorch-version: "2.1" } - { os: "macOS-14", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } - - { os: "ubuntu-20.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } + - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } - { os: "windows-2022", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.2.2" } - { os: "macOS-14", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } - - { os: "ubuntu-20.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } + - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } - { os: "windows-2022", pkg-name: "lightning", python-version: "3.11", pytorch-version: "2.3" } - { os: "macOS-14", pkg-name: "lightning", python-version: "3.12.7", pytorch-version: "2.4.1" } - { os: "ubuntu-22.04", pkg-name: "lightning", python-version: "3.12.7", pytorch-version: "2.4.1" } @@ -65,11 +65,11 @@ jobs: - { os: "windows-2022", pkg-name: "pytorch", python-version: "3.12.7", pytorch-version: "2.6" } # "oldest" versions tests, only on minimum Python - { os: "macOS-14", pkg-name: "pytorch", pytorch-version: "2.1", requires: "oldest" } - - { os: "ubuntu-20.04", pkg-name: "pytorch", pytorch-version: "2.1", requires: "oldest" } + - { os: "ubuntu-22.04", pkg-name: "pytorch", pytorch-version: "2.1", requires: "oldest" } - { os: "windows-2022", pkg-name: "pytorch", pytorch-version: "2.1", requires: "oldest" } # "pytorch" installs the standalone package - { os: "macOS-14", pkg-name: "pytorch", python-version: "3.10", pytorch-version: "2.5" } - - { os: "ubuntu-20.04", pkg-name: "pytorch", python-version: "3.10", pytorch-version: "2.5" } + - { os: "ubuntu-22.04", pkg-name: "pytorch", python-version: "3.10", pytorch-version: "2.5" } - { os: "windows-2022", pkg-name: "pytorch", python-version: "3.10", pytorch-version: "2.5" } # adding recently cut Torch 2.7 - FUTURE # - { os: "macOS-14", pkg-name: "pytorch", python-version: "3.12", pytorch-version: "2.7" } diff --git a/.github/workflows/code-checks.yml b/.github/workflows/code-checks.yml index 37fa432bd7887..527b605e12366 100644 --- a/.github/workflows/code-checks.yml +++ b/.github/workflows/code-checks.yml @@ -26,7 +26,7 @@ defaults: jobs: mypy: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 - uses: actions/setup-python@v5 diff --git a/.github/workflows/docs-build.yml b/.github/workflows/docs-build.yml index 9b2bab5ab98d4..ec23d282710b5 100644 --- a/.github/workflows/docs-build.yml +++ b/.github/workflows/docs-build.yml @@ -53,7 +53,7 @@ env: jobs: docs-make: if: github.event.pull_request.draft == false - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: @@ -72,7 +72,7 @@ jobs: lfs: ${{ matrix.pkg-name == 'pytorch' }} - uses: actions/setup-python@v5 with: - python-version: "3.9" + python-version: "3.10" - name: List notebooks if: ${{ matrix.pkg-name == 'pytorch' }} @@ -149,7 +149,7 @@ jobs: deploy-docs: needs: docs-make if: github.repository_owner == 'Lightning-AI' && github.event_name != 'pull_request' - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 strategy: fail-fast: false matrix: diff --git a/.github/workflows/docs-tutorials.yml b/.github/workflows/docs-tutorials.yml index 5879a7dd58744..6a768c6b9ffd9 100644 --- a/.github/workflows/docs-tutorials.yml +++ b/.github/workflows/docs-tutorials.yml @@ -16,7 +16,7 @@ defaults: jobs: docs-update: - runs-on: ubuntu-20.04 + runs-on: ubuntu-22.04 steps: - uses: actions/checkout@v4 with: diff --git a/docs/source-fabric/conf.py b/docs/source-fabric/conf.py index bfa6dc0dc39c7..edbd30212d11c 100644 --- a/docs/source-fabric/conf.py +++ b/docs/source-fabric/conf.py @@ -292,6 +292,8 @@ ("py:.*", "torch_xla.*"), ("py:class", "transformer_engine.*"), ("py:class", "bitsandbytes.*"), + # loggers + ('py:class', 'tensorboardX.SummaryWriter'), # todo: this is unexpected as the imports locally works ] # -- Options for todo extension ---------------------------------------------- diff --git a/docs/source-pytorch/conf.py b/docs/source-pytorch/conf.py index 680e64d008556..90400b1df491d 100644 --- a/docs/source-pytorch/conf.py +++ b/docs/source-pytorch/conf.py @@ -377,6 +377,7 @@ def _load_py_module(name: str, location: str) -> ModuleType: # missing in generated API ("py:exc", "MisconfigurationException"), # TODO: generated list of all existing ATM, need to be fixed + ('py:class', 'tensorboardX.SummaryWriter'), ("py:class", "AveragedModel"), ("py:class", "CometExperiment"), ("py:meth", "DataModule.__init__"), diff --git a/src/lightning/pytorch/trainer/connectors/callback_connector.py b/src/lightning/pytorch/trainer/connectors/callback_connector.py index 3f107bd9a124a..8d67081db8638 100644 --- a/src/lightning/pytorch/trainer/connectors/callback_connector.py +++ b/src/lightning/pytorch/trainer/connectors/callback_connector.py @@ -18,7 +18,7 @@ from datetime import timedelta from typing import Optional, Union -from lightning_utilities import module_available +from lightning_utilities.core.imports import RequirementCache import lightning.pytorch as pl from lightning.fabric.utilities.registry import _load_external_callbacks @@ -93,7 +93,7 @@ def _configure_checkpoint_callbacks(self, enable_checkpointing: bool) -> None: " but found `ModelCheckpoint` in callbacks list." ) elif enable_checkpointing: - if module_available("litmodels") and self.trainer._model_registry: + if RequirementCache("litmodels >=0.1.7") and self.trainer._model_registry: trainer_source = inspect.getmodule(self.trainer) if trainer_source is None or not isinstance(trainer_source.__package__, str): raise RuntimeError("Unable to determine the source of the trainer.") @@ -103,11 +103,11 @@ def _configure_checkpoint_callbacks(self, enable_checkpointing: bool) -> None: else: from litmodels.integrations.checkpoints import LightningModelCheckpoint as LitModelCheckpoint - model_checkpoint = LitModelCheckpoint(model_name=self.trainer._model_registry) + model_checkpoint = LitModelCheckpoint(model_registry=self.trainer._model_registry) else: rank_zero_info( - "You are using the plain ModelCheckpoint callback." - " Consider using LitModelCheckpoint which with seamless uploading to Model registry." + "Using default `ModelCheckpoint`. Consider installing `litmodels` package to enable" + " `LitModelCheckpoint` for automatic upload to the Lightning model registry." ) model_checkpoint = ModelCheckpoint() self.trainer.callbacks.append(model_checkpoint) diff --git a/src/version.info b/src/version.info index 73462a5a13445..b9d7903b08172 100644 --- a/src/version.info +++ b/src/version.info @@ -1 +1 @@ -2.5.1 +2.5.1.post0