From 161f6254ede0eaff1dea714430f0477a2889533e Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Wed, 29 May 2024 09:05:22 +0100 Subject: [PATCH 1/5] Add detail to type for functional.to_tensor pic This is to avoid the pyright error `reportUnknownMemberType` when using this function. --- torchvision/transforms/functional.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/transforms/functional.py b/torchvision/transforms/functional.py index 124d1da5f4f..0ac6d1ea86a 100644 --- a/torchvision/transforms/functional.py +++ b/torchvision/transforms/functional.py @@ -124,7 +124,7 @@ def _is_numpy_image(img: Any) -> bool: return img.ndim in {2, 3} -def to_tensor(pic: Union[PILImage, np.ndarray]) -> Tensor: +def to_tensor(pic: Union[PILImage, np.ndarray[int, int]) -> Tensor: """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor. This function does not support torchscript. From 4f56ec2026d49da7aed900ab27cff3bb9044d79c Mon Sep 17 00:00:00 2001 From: Nicolas Hug Date: Wed, 29 May 2024 12:48:53 +0100 Subject: [PATCH 2/5] Fix closing bracket --- torchvision/transforms/functional.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/transforms/functional.py b/torchvision/transforms/functional.py index 0ac6d1ea86a..6b52cc31b6d 100644 --- a/torchvision/transforms/functional.py +++ b/torchvision/transforms/functional.py @@ -124,7 +124,7 @@ def _is_numpy_image(img: Any) -> bool: return img.ndim in {2, 3} -def to_tensor(pic: Union[PILImage, np.ndarray[int, int]) -> Tensor: +def to_tensor(pic: Union[PILImage, np.ndarray[int, int]]) -> Tensor: """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor. This function does not support torchscript. From 78d4089d6fab62ae03ddf4a912bc36c56b0a5b63 Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Thu, 27 Jun 2024 12:44:48 +0100 Subject: [PATCH 3/5] Do not specify the dimensions in to_tensor pic type hint --- torchvision/transforms/functional.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/torchvision/transforms/functional.py b/torchvision/transforms/functional.py index 6b52cc31b6d..6e2ec2565e1 100644 --- a/torchvision/transforms/functional.py +++ b/torchvision/transforms/functional.py @@ -10,6 +10,7 @@ from PIL import Image from PIL.Image import Image as PILImage from torch import Tensor +from numpy.typing import NDArray try: import accimage @@ -124,7 +125,7 @@ def _is_numpy_image(img: Any) -> bool: return img.ndim in {2, 3} -def to_tensor(pic: Union[PILImage, np.ndarray[int, int]]) -> Tensor: +def to_tensor(pic: Union[PILImage, NDArray[np.uint8]]) -> Tensor: """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor. This function does not support torchscript. From bb8bb1681038f24ddef12e093d87f115a532ce5f Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Mon, 29 Jul 2024 21:15:25 +0100 Subject: [PATCH 4/5] Expand type of to_tensor to allow pic to be an array of np.float32 --- torchvision/transforms/functional.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/transforms/functional.py b/torchvision/transforms/functional.py index 2528fd635c8..4adcaca025e 100644 --- a/torchvision/transforms/functional.py +++ b/torchvision/transforms/functional.py @@ -125,7 +125,7 @@ def _is_numpy_image(img: Any) -> bool: return img.ndim in {2, 3} -def to_tensor(pic: Union[PILImage, NDArray[np.uint8]]) -> Tensor: +def to_tensor(pic: Union[PILImage.Image, NDArray[Union[np.uint8, np.float32]]]) -> Tensor: """Convert a ``PIL Image`` or ``numpy.ndarray`` to tensor. This function does not support torchscript. From f6fe95955d9cc4f522cd1643d8abc560f6d8a022 Mon Sep 17 00:00:00 2001 From: Adam Dangoor Date: Mon, 29 Jul 2024 21:17:02 +0100 Subject: [PATCH 5/5] Move import to satisfy linter --- torchvision/transforms/functional.py | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/torchvision/transforms/functional.py b/torchvision/transforms/functional.py index 4adcaca025e..8d4e8470afc 100644 --- a/torchvision/transforms/functional.py +++ b/torchvision/transforms/functional.py @@ -7,10 +7,10 @@ import numpy as np import torch +from numpy.typing import NDArray from PIL import Image from PIL.Image import Image as PILImage from torch import Tensor -from numpy.typing import NDArray try: import accimage