Shortcuts

Source code for pytorch_lightning.utilities.apply_func

# Copyright The PyTorch Lightning team.
#
# Licensed under the Apache License, Version 2.0 (the "License");
# you may not use this file except in compliance with the License.
# You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
"""Utilities used for collections."""

from typing import Any

import torch
from lightning_utilities.core.apply_func import apply_to_collection as new_apply_to_collection
from lightning_utilities.core.apply_func import apply_to_collections as new_apply_to_collections

from lightning_lite.utilities import move_data_to_device as new_move_data_to_device
from lightning_lite.utilities.apply_func import _from_numpy
from lightning_lite.utilities.apply_func import _TransferableDataType as NewTransferableDataType
from lightning_lite.utilities.apply_func import convert_to_tensors as new_convert_to_tensors
from pytorch_lightning.utilities import rank_zero_deprecation
from pytorch_lightning.utilities.exceptions import MisconfigurationException


def apply_to_collection(*args: Any, **kwargs: Any) -> Any:
    rank_zero_deprecation(
        "`pytorch_lightning.utilities.apply_func.apply_to_collection` has been deprecated in v1.8.0 and will be"
        " removed in v1.10.0. Please use `lightning_utilities.core.apply_func.apply_to_collection` instead."
    )
    try:
        return new_apply_to_collection(*args, **kwargs)
    except ValueError as e:
        # upstream had to change the exception type
        raise MisconfigurationException from e


def apply_to_collections(*args: Any, **kwargs: Any) -> Any:
    rank_zero_deprecation(
        "`pytorch_lightning.utilities.apply_func.apply_to_collections` has been deprecated in v1.8.0 and will be"
        " removed in v1.10.0. Please use `lightning_utilities.core.apply_func.apply_to_collections` instead."
    )
    try:
        return new_apply_to_collections(*args, **kwargs)
    except ValueError as e:
        # upstream had to change the exception type
        raise MisconfigurationException from e


def convert_to_tensors(*args: Any, **kwargs: Any) -> Any:
    rank_zero_deprecation(
        "`pytorch_lightning.utilities.apply_func.convert_to_tensors` has been deprecated in v1.8.0 and will be"
        " removed in v1.10.0. Please use `lightning_lite.utilities.apply_func.convert_to_tensors` instead."
    )
    return new_convert_to_tensors(*args, **kwargs)


def from_numpy(*args: Any, **kwargs: Any) -> Any:
    rank_zero_deprecation(
        "`pytorch_lightning.utilities.apply_func.from_numpy` has been deprecated in v1.8.0 and will be"
        " removed in v1.10.0. Please use `torch.from_numpy().to()` instead."
    )
    return _from_numpy(*args, **kwargs)


def move_data_to_device(*args: Any, **kwargs: Any) -> Any:
    rank_zero_deprecation(
        "`pytorch_lightning.utilities.apply_func.move_data_to_device` has been deprecated in v1.8.0 and will be"
        " removed in v1.10.0. Please use `lightning_lite.utilities.apply_func.move_data_to_device` instead."
    )
    return new_move_data_to_device(*args, **kwargs)


def to_dtype_tensor(*args: Any, **kwargs: Any) -> Any:
    rank_zero_deprecation(
        "`pytorch_lightning.utilities.apply_func.to_dtype_tensor` has been deprecated in v1.8.0 and will be"
        " removed in v1.10.0. Please use `torch.tensor` instead."
    )
    return torch.tensor(*args, **kwargs)


[docs]class TransferableDataType(NewTransferableDataType): def __init__(self) -> None: rank_zero_deprecation( "`pytorch_lightning.utilities.apply_func.TransferableDataType` has been deprecated in v1.8.0 and will be" " removed in v1.10.0. This function is internal but you can copy over its implementation." ) super().__init__()

© Copyright Copyright (c) 2018-2022, Lightning AI et al... Revision f4fcad36.

Built with Sphinx using a theme provided by Read the Docs.
Read the Docs v: latest
Versions
latest
stable
1.8.3post1
1.8.3.post0
1.8.3
1.8.2
1.8.1
1.8.0.post1
1.8.0
1.7.7
1.7.6
1.7.5
1.7.4
1.7.3
1.7.2
1.7.1
1.7.0
1.6.5
1.6.4
1.6.3
1.6.2
1.6.1
1.6.0
1.5.10
1.5.9
1.5.8
1.5.7
1.5.6
1.5.5
1.5.4
1.5.3
1.5.2
1.5.1
1.5.0
1.4.9
1.4.8
1.4.7
1.4.6
1.4.5
1.4.4
1.4.3
1.4.2
1.4.1
1.4.0
1.3.8
1.3.7
1.3.6
1.3.5
1.3.4
1.3.3
1.3.2
1.3.1
1.3.0
1.2.10
1.2.8
1.2.7
1.2.6
1.2.5
1.2.4
1.2.3
1.2.2
1.2.1
1.2.0
1.1.8
1.1.7
1.1.6
1.1.5
1.1.4
1.1.3
1.1.2
1.1.1
1.1.0
1.0.8
1.0.7
1.0.6
1.0.5
1.0.4
1.0.3
1.0.2
1.0.1
1.0.0
0.10.0
0.9.0
0.8.5
0.8.4
0.8.3
0.8.2
0.8.1
0.8.0
0.7.6
0.7.5
0.7.4
0.7.3
0.7.2
0.7.1
0.7.0
0.6.0
0.5.3
0.4.9
Downloads
html
On Read the Docs
Project Home
Builds

Free document hosting provided by Read the Docs.