diff --git a/torchvision/datapoints/__init__.py b/torchvision/datapoints/__init__.py index 04d5a05731e..2a1a218fe0c 100644 --- a/torchvision/datapoints/__init__.py +++ b/torchvision/datapoints/__init__.py @@ -1,7 +1,7 @@ from ._bounding_box import BoundingBox, BoundingBoxFormat -from ._datapoint import FillType, FillTypeJIT, InputType, InputTypeJIT -from ._image import Image, ImageType, ImageTypeJIT, TensorImageType, TensorImageTypeJIT +from ._datapoint import _FillType, _FillTypeJIT, _InputType, _InputTypeJIT +from ._image import _ImageType, _ImageTypeJIT, _TensorImageType, _TensorImageTypeJIT, Image from ._mask import Mask -from ._video import TensorVideoType, TensorVideoTypeJIT, Video, VideoType, VideoTypeJIT +from ._video import _TensorVideoType, _TensorVideoTypeJIT, _VideoType, _VideoTypeJIT, Video from ._dataset_wrapper import wrap_dataset_for_transforms_v2 # type: ignore[attr-defined] # usort: skip diff --git a/torchvision/datapoints/_bounding_box.py b/torchvision/datapoints/_bounding_box.py index b904dd5e5aa..1dc46f8f21a 100644 --- a/torchvision/datapoints/_bounding_box.py +++ b/torchvision/datapoints/_bounding_box.py @@ -6,7 +6,7 @@ from torchvision._utils import StrEnum from torchvision.transforms import InterpolationMode # TODO: this needs to be moved out of transforms -from ._datapoint import Datapoint, FillTypeJIT +from ._datapoint import _FillTypeJIT, Datapoint class BoundingBoxFormat(StrEnum): @@ -136,7 +136,7 @@ def rotate( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> BoundingBox: output, spatial_size = self._F.rotate_bounding_box( self.as_subclass(torch.Tensor), @@ -155,7 +155,7 @@ def affine( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, center: Optional[List[float]] = None, ) -> BoundingBox: output = self._F.affine_bounding_box( @@ -175,7 +175,7 @@ def perspective( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> BoundingBox: output = self._F.perspective_bounding_box( @@ -192,7 +192,7 @@ def elastic( self, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> BoundingBox: output = self._F.elastic_bounding_box( self.as_subclass(torch.Tensor), self.format, self.spatial_size, displacement=displacement diff --git a/torchvision/datapoints/_datapoint.py b/torchvision/datapoints/_datapoint.py index 2a2f34fc60e..fe489d13ea0 100644 --- a/torchvision/datapoints/_datapoint.py +++ b/torchvision/datapoints/_datapoint.py @@ -11,8 +11,8 @@ D = TypeVar("D", bound="Datapoint") -FillType = Union[int, float, Sequence[int], Sequence[float], None] -FillTypeJIT = Optional[List[float]] +_FillType = Union[int, float, Sequence[int], Sequence[float], None] +_FillTypeJIT = Optional[List[float]] class Datapoint(torch.Tensor): @@ -181,7 +181,7 @@ def rotate( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Datapoint: return self @@ -192,7 +192,7 @@ def affine( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, center: Optional[List[float]] = None, ) -> Datapoint: return self @@ -202,7 +202,7 @@ def perspective( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> Datapoint: return self @@ -211,7 +211,7 @@ def elastic( self, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Datapoint: return self @@ -255,5 +255,5 @@ def gaussian_blur(self, kernel_size: List[int], sigma: Optional[List[float]] = N return self -InputType = Union[torch.Tensor, PIL.Image.Image, Datapoint] -InputTypeJIT = torch.Tensor +_InputType = Union[torch.Tensor, PIL.Image.Image, Datapoint] +_InputTypeJIT = torch.Tensor diff --git a/torchvision/datapoints/_image.py b/torchvision/datapoints/_image.py index 9c61740c563..21dfe5a5cd6 100644 --- a/torchvision/datapoints/_image.py +++ b/torchvision/datapoints/_image.py @@ -6,7 +6,7 @@ import torch from torchvision.transforms.functional import InterpolationMode -from ._datapoint import Datapoint, FillTypeJIT +from ._datapoint import _FillTypeJIT, Datapoint class Image(Datapoint): @@ -116,7 +116,7 @@ def rotate( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Image: output = self._F.rotate_image_tensor( self.as_subclass(torch.Tensor), angle, interpolation=interpolation, expand=expand, fill=fill, center=center @@ -130,7 +130,7 @@ def affine( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, center: Optional[List[float]] = None, ) -> Image: output = self._F.affine_image_tensor( @@ -150,7 +150,7 @@ def perspective( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> Image: output = self._F.perspective_image_tensor( @@ -167,7 +167,7 @@ def elastic( self, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Image: output = self._F.elastic_image_tensor( self.as_subclass(torch.Tensor), displacement, interpolation=interpolation, fill=fill @@ -241,7 +241,7 @@ def normalize(self, mean: List[float], std: List[float], inplace: bool = False) return Image.wrap_like(self, output) -ImageType = Union[torch.Tensor, PIL.Image.Image, Image] -ImageTypeJIT = torch.Tensor -TensorImageType = Union[torch.Tensor, Image] -TensorImageTypeJIT = torch.Tensor +_ImageType = Union[torch.Tensor, PIL.Image.Image, Image] +_ImageTypeJIT = torch.Tensor +_TensorImageType = Union[torch.Tensor, Image] +_TensorImageTypeJIT = torch.Tensor diff --git a/torchvision/datapoints/_mask.py b/torchvision/datapoints/_mask.py index 2746feaaf14..bb70ec12224 100644 --- a/torchvision/datapoints/_mask.py +++ b/torchvision/datapoints/_mask.py @@ -6,7 +6,7 @@ import torch from torchvision.transforms import InterpolationMode -from ._datapoint import Datapoint, FillTypeJIT +from ._datapoint import _FillTypeJIT, Datapoint class Mask(Datapoint): @@ -96,7 +96,7 @@ def rotate( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Mask: output = self._F.rotate_mask(self.as_subclass(torch.Tensor), angle, expand=expand, center=center, fill=fill) return Mask.wrap_like(self, output) @@ -108,7 +108,7 @@ def affine( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, center: Optional[List[float]] = None, ) -> Mask: output = self._F.affine_mask( @@ -127,7 +127,7 @@ def perspective( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> Mask: output = self._F.perspective_mask( @@ -139,7 +139,7 @@ def elastic( self, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Mask: output = self._F.elastic_mask(self.as_subclass(torch.Tensor), displacement, fill=fill) return Mask.wrap_like(self, output) diff --git a/torchvision/datapoints/_video.py b/torchvision/datapoints/_video.py index f62edd68eaf..ab51c10233d 100644 --- a/torchvision/datapoints/_video.py +++ b/torchvision/datapoints/_video.py @@ -5,7 +5,7 @@ import torch from torchvision.transforms.functional import InterpolationMode -from ._datapoint import Datapoint, FillTypeJIT +from ._datapoint import _FillTypeJIT, Datapoint class Video(Datapoint): @@ -115,7 +115,7 @@ def rotate( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Video: output = self._F.rotate_video( self.as_subclass(torch.Tensor), angle, interpolation=interpolation, expand=expand, fill=fill, center=center @@ -129,7 +129,7 @@ def affine( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, center: Optional[List[float]] = None, ) -> Video: output = self._F.affine_video( @@ -149,7 +149,7 @@ def perspective( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> Video: output = self._F.perspective_video( @@ -166,7 +166,7 @@ def elastic( self, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: FillTypeJIT = None, + fill: _FillTypeJIT = None, ) -> Video: output = self._F.elastic_video( self.as_subclass(torch.Tensor), displacement, interpolation=interpolation, fill=fill @@ -232,7 +232,7 @@ def normalize(self, mean: List[float], std: List[float], inplace: bool = False) return Video.wrap_like(self, output) -VideoType = Union[torch.Tensor, Video] -VideoTypeJIT = torch.Tensor -TensorVideoType = Union[torch.Tensor, Video] -TensorVideoTypeJIT = torch.Tensor +_VideoType = Union[torch.Tensor, Video] +_VideoTypeJIT = torch.Tensor +_TensorVideoType = Union[torch.Tensor, Video] +_TensorVideoTypeJIT = torch.Tensor diff --git a/torchvision/prototype/transforms/_augment.py b/torchvision/prototype/transforms/_augment.py index afa411b4896..d04baf739d1 100644 --- a/torchvision/prototype/transforms/_augment.py +++ b/torchvision/prototype/transforms/_augment.py @@ -119,15 +119,15 @@ def __init__( def _copy_paste( self, - image: datapoints.TensorImageType, + image: datapoints._TensorImageType, target: Dict[str, Any], - paste_image: datapoints.TensorImageType, + paste_image: datapoints._TensorImageType, paste_target: Dict[str, Any], random_selection: torch.Tensor, blending: bool, resize_interpolation: F.InterpolationMode, antialias: Optional[bool], - ) -> Tuple[datapoints.TensorImageType, Dict[str, Any]]: + ) -> Tuple[datapoints._TensorImageType, Dict[str, Any]]: paste_masks = paste_target["masks"].wrap_like(paste_target["masks"], paste_target["masks"][random_selection]) paste_boxes = paste_target["boxes"].wrap_like(paste_target["boxes"], paste_target["boxes"][random_selection]) @@ -199,7 +199,7 @@ def _copy_paste( def _extract_image_targets( self, flat_sample: List[Any] - ) -> Tuple[List[datapoints.TensorImageType], List[Dict[str, Any]]]: + ) -> Tuple[List[datapoints._TensorImageType], List[Dict[str, Any]]]: # fetch all images, bboxes, masks and labels from unstructured input # with List[image], List[BoundingBox], List[Mask], List[Label] images, bboxes, masks, labels = [], [], [], [] @@ -230,7 +230,7 @@ def _extract_image_targets( def _insert_outputs( self, flat_sample: List[Any], - output_images: List[datapoints.TensorImageType], + output_images: List[datapoints._TensorImageType], output_targets: List[Dict[str, Any]], ) -> None: c0, c1, c2, c3 = 0, 0, 0, 0 diff --git a/torchvision/prototype/transforms/_geometry.py b/torchvision/prototype/transforms/_geometry.py index fa4ccef2eb9..512ffec0abb 100644 --- a/torchvision/prototype/transforms/_geometry.py +++ b/torchvision/prototype/transforms/_geometry.py @@ -14,7 +14,7 @@ class FixedSizeCrop(Transform): def __init__( self, size: Union[int, Sequence[int]], - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, padding_mode: str = "constant", ) -> None: super().__init__() diff --git a/torchvision/prototype/transforms/_misc.py b/torchvision/prototype/transforms/_misc.py index b51b59a1516..3a4e6e956f3 100644 --- a/torchvision/prototype/transforms/_misc.py +++ b/torchvision/prototype/transforms/_misc.py @@ -26,7 +26,7 @@ def __init__(self, dims: Union[Sequence[int], Dict[Type, Optional[Sequence[int]] self.dims = dims def _transform( - self, inpt: Union[datapoints.TensorImageType, datapoints.TensorVideoType], params: Dict[str, Any] + self, inpt: Union[datapoints._TensorImageType, datapoints._TensorVideoType], params: Dict[str, Any] ) -> torch.Tensor: dims = self.dims[type(inpt)] if dims is None: @@ -50,7 +50,7 @@ def __init__(self, dims: Union[Tuple[int, int], Dict[Type, Optional[Tuple[int, i self.dims = dims def _transform( - self, inpt: Union[datapoints.TensorImageType, datapoints.TensorVideoType], params: Dict[str, Any] + self, inpt: Union[datapoints._TensorImageType, datapoints._TensorVideoType], params: Dict[str, Any] ) -> torch.Tensor: dims = self.dims[type(inpt)] if dims is None: diff --git a/torchvision/transforms/v2/_augment.py b/torchvision/transforms/v2/_augment.py index 1375400ed0c..157605d6f3c 100644 --- a/torchvision/transforms/v2/_augment.py +++ b/torchvision/transforms/v2/_augment.py @@ -97,8 +97,8 @@ def _get_params(self, flat_inputs: List[Any]) -> Dict[str, Any]: return dict(i=i, j=j, h=h, w=w, v=v) def _transform( - self, inpt: Union[datapoints.ImageType, datapoints.VideoType], params: Dict[str, Any] - ) -> Union[datapoints.ImageType, datapoints.VideoType]: + self, inpt: Union[datapoints._ImageType, datapoints._VideoType], params: Dict[str, Any] + ) -> Union[datapoints._ImageType, datapoints._VideoType]: if params["v"] is not None: inpt = F.erase(inpt, **params, inplace=self.inplace) diff --git a/torchvision/transforms/v2/_auto_augment.py b/torchvision/transforms/v2/_auto_augment.py index fcd9c758ce4..b4791755dc5 100644 --- a/torchvision/transforms/v2/_auto_augment.py +++ b/torchvision/transforms/v2/_auto_augment.py @@ -20,7 +20,7 @@ def __init__( self, *, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = None, ) -> None: super().__init__() self.interpolation = _check_interpolation(interpolation) @@ -35,7 +35,7 @@ def _flatten_and_extract_image_or_video( self, inputs: Any, unsupported_types: Tuple[Type, ...] = (datapoints.BoundingBox, datapoints.Mask), - ) -> Tuple[Tuple[List[Any], TreeSpec, int], Union[datapoints.ImageType, datapoints.VideoType]]: + ) -> Tuple[Tuple[List[Any], TreeSpec, int], Union[datapoints._ImageType, datapoints._VideoType]]: flat_inputs, spec = tree_flatten(inputs if len(inputs) > 1 else inputs[0]) needs_transform_list = self._needs_transform_list(flat_inputs) @@ -68,7 +68,7 @@ def _flatten_and_extract_image_or_video( def _unflatten_and_insert_image_or_video( self, flat_inputs_with_spec: Tuple[List[Any], TreeSpec, int], - image_or_video: Union[datapoints.ImageType, datapoints.VideoType], + image_or_video: Union[datapoints._ImageType, datapoints._VideoType], ) -> Any: flat_inputs, spec, idx = flat_inputs_with_spec flat_inputs[idx] = image_or_video @@ -76,12 +76,12 @@ def _unflatten_and_insert_image_or_video( def _apply_image_or_video_transform( self, - image: Union[datapoints.ImageType, datapoints.VideoType], + image: Union[datapoints._ImageType, datapoints._VideoType], transform_id: str, magnitude: float, interpolation: Union[InterpolationMode, int], - fill: Dict[Type, datapoints.FillTypeJIT], - ) -> Union[datapoints.ImageType, datapoints.VideoType]: + fill: Dict[Type, datapoints._FillTypeJIT], + ) -> Union[datapoints._ImageType, datapoints._VideoType]: fill_ = fill[type(image)] if transform_id == "Identity": @@ -194,7 +194,7 @@ def __init__( self, policy: AutoAugmentPolicy = AutoAugmentPolicy.IMAGENET, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = None, ) -> None: super().__init__(interpolation=interpolation, fill=fill) self.policy = policy @@ -351,7 +351,7 @@ def __init__( magnitude: int = 9, num_magnitude_bins: int = 31, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = None, ) -> None: super().__init__(interpolation=interpolation, fill=fill) self.num_ops = num_ops @@ -404,7 +404,7 @@ def __init__( self, num_magnitude_bins: int = 31, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = None, ): super().__init__(interpolation=interpolation, fill=fill) self.num_magnitude_bins = num_magnitude_bins @@ -462,7 +462,7 @@ def __init__( alpha: float = 1.0, all_ops: bool = True, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = None, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = None, ) -> None: super().__init__(interpolation=interpolation, fill=fill) self._PARAMETER_MAX = 10 diff --git a/torchvision/transforms/v2/_color.py b/torchvision/transforms/v2/_color.py index f1b04d775d7..64796e16ca4 100644 --- a/torchvision/transforms/v2/_color.py +++ b/torchvision/transforms/v2/_color.py @@ -163,8 +163,8 @@ def _get_params(self, flat_inputs: List[Any]) -> Dict[str, Any]: ) def _permute_channels( - self, inpt: Union[datapoints.ImageType, datapoints.VideoType], permutation: torch.Tensor - ) -> Union[datapoints.ImageType, datapoints.VideoType]: + self, inpt: Union[datapoints._ImageType, datapoints._VideoType], permutation: torch.Tensor + ) -> Union[datapoints._ImageType, datapoints._VideoType]: orig_inpt = inpt if isinstance(orig_inpt, PIL.Image.Image): @@ -179,8 +179,8 @@ def _permute_channels( return output def _transform( - self, inpt: Union[datapoints.ImageType, datapoints.VideoType], params: Dict[str, Any] - ) -> Union[datapoints.ImageType, datapoints.VideoType]: + self, inpt: Union[datapoints._ImageType, datapoints._VideoType], params: Dict[str, Any] + ) -> Union[datapoints._ImageType, datapoints._VideoType]: if params["brightness"]: inpt = F.adjust_brightness( inpt, brightness_factor=ColorJitter._generate_value(self.brightness[0], self.brightness[1]) diff --git a/torchvision/transforms/v2/_geometry.py b/torchvision/transforms/v2/_geometry.py index 6a8e4a3e033..65d116e2082 100644 --- a/torchvision/transforms/v2/_geometry.py +++ b/torchvision/transforms/v2/_geometry.py @@ -160,7 +160,7 @@ def _transform(self, inpt: Any, params: Dict[str, Any]) -> Any: ) -ImageOrVideoTypeJIT = Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT] +ImageOrVideoTypeJIT = Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT] class FiveCrop(Transform): @@ -232,7 +232,7 @@ def _check_inputs(self, flat_inputs: List[Any]) -> None: raise TypeError(f"BoundingBox'es and Mask's are not supported by {type(self).__name__}()") def _transform( - self, inpt: Union[datapoints.ImageType, datapoints.VideoType], params: Dict[str, Any] + self, inpt: Union[datapoints._ImageType, datapoints._VideoType], params: Dict[str, Any] ) -> Tuple[ ImageOrVideoTypeJIT, ImageOrVideoTypeJIT, @@ -264,7 +264,7 @@ def _extract_params_for_v1_transform(self) -> Dict[str, Any]: def __init__( self, padding: Union[int, Sequence[int]], - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, padding_mode: Literal["constant", "edge", "reflect", "symmetric"] = "constant", ) -> None: super().__init__() @@ -287,7 +287,7 @@ def _transform(self, inpt: Any, params: Dict[str, Any]) -> Any: class RandomZoomOut(_RandomApplyTransform): def __init__( self, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, side_range: Sequence[float] = (1.0, 4.0), p: float = 0.5, ) -> None: @@ -330,7 +330,7 @@ def __init__( degrees: Union[numbers.Number, Sequence], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, center: Optional[List[float]] = None, ) -> None: super().__init__() @@ -371,7 +371,7 @@ def __init__( scale: Optional[Sequence[float]] = None, shear: Optional[Union[int, float, Sequence[float]]] = None, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, center: Optional[List[float]] = None, ) -> None: super().__init__() @@ -464,7 +464,7 @@ def __init__( size: Union[int, Sequence[int]], padding: Optional[Union[int, Sequence[int]]] = None, pad_if_needed: bool = False, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, padding_mode: Literal["constant", "edge", "reflect", "symmetric"] = "constant", ) -> None: super().__init__() @@ -556,7 +556,7 @@ class RandomPerspective(_RandomApplyTransform): def __init__( self, distortion_scale: float = 0.5, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, p: float = 0.5, ) -> None: @@ -618,7 +618,7 @@ def __init__( self, alpha: Union[float, Sequence[float]] = 50.0, sigma: Union[float, Sequence[float]] = 5.0, - fill: Union[datapoints.FillType, Dict[Type, datapoints.FillType]] = 0, + fill: Union[datapoints._FillType, Dict[Type, datapoints._FillType]] = 0, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, ) -> None: super().__init__() diff --git a/torchvision/transforms/v2/_meta.py b/torchvision/transforms/v2/_meta.py index 6e6655d0b54..0d1544094ca 100644 --- a/torchvision/transforms/v2/_meta.py +++ b/torchvision/transforms/v2/_meta.py @@ -31,8 +31,8 @@ def __init__(self, dtype: torch.dtype = torch.float32) -> None: self.dtype = dtype def _transform( - self, inpt: Union[datapoints.TensorImageType, datapoints.TensorVideoType], params: Dict[str, Any] - ) -> Union[datapoints.TensorImageType, datapoints.TensorVideoType]: + self, inpt: Union[datapoints._TensorImageType, datapoints._TensorVideoType], params: Dict[str, Any] + ) -> Union[datapoints._TensorImageType, datapoints._TensorVideoType]: return F.convert_dtype(inpt, self.dtype) diff --git a/torchvision/transforms/v2/_misc.py b/torchvision/transforms/v2/_misc.py index 89e743dae3d..de1b7ce0022 100644 --- a/torchvision/transforms/v2/_misc.py +++ b/torchvision/transforms/v2/_misc.py @@ -119,7 +119,7 @@ def _check_inputs(self, sample: Any) -> Any: raise TypeError(f"{type(self).__name__}() does not support PIL images.") def _transform( - self, inpt: Union[datapoints.TensorImageType, datapoints.TensorVideoType], params: Dict[str, Any] + self, inpt: Union[datapoints._TensorImageType, datapoints._TensorVideoType], params: Dict[str, Any] ) -> Any: return F.normalize(inpt, mean=self.mean, std=self.std, inplace=self.inplace) diff --git a/torchvision/transforms/v2/_temporal.py b/torchvision/transforms/v2/_temporal.py index ab3b91d6cc2..b26d6b0450f 100644 --- a/torchvision/transforms/v2/_temporal.py +++ b/torchvision/transforms/v2/_temporal.py @@ -13,5 +13,5 @@ def __init__(self, num_samples: int): super().__init__() self.num_samples = num_samples - def _transform(self, inpt: datapoints.VideoType, params: Dict[str, Any]) -> datapoints.VideoType: + def _transform(self, inpt: datapoints._VideoType, params: Dict[str, Any]) -> datapoints._VideoType: return F.uniform_temporal_subsample(inpt, self.num_samples) diff --git a/torchvision/transforms/v2/_utils.py b/torchvision/transforms/v2/_utils.py index d68851576d3..9942602ebb9 100644 --- a/torchvision/transforms/v2/_utils.py +++ b/torchvision/transforms/v2/_utils.py @@ -4,7 +4,7 @@ from typing import Any, Dict, Literal, Sequence, Type, TypeVar, Union from torchvision import datapoints -from torchvision.datapoints._datapoint import FillType, FillTypeJIT +from torchvision.datapoints._datapoint import _FillType, _FillTypeJIT from torchvision.transforms.transforms import _check_sequence_input, _setup_angle, _setup_size # noqa: F401 @@ -26,7 +26,7 @@ def _setup_float_or_seq(arg: Union[float, Sequence[float]], name: str, req_size: return arg -def _check_fill_arg(fill: Union[FillType, Dict[Type, FillType]]) -> None: +def _check_fill_arg(fill: Union[_FillType, Dict[Type, _FillType]]) -> None: if isinstance(fill, dict): for key, value in fill.items(): # Check key for type @@ -52,7 +52,7 @@ def _get_defaultdict(default: T) -> Dict[Any, T]: return defaultdict(functools.partial(_default_arg, default)) -def _convert_fill_arg(fill: datapoints.FillType) -> datapoints.FillTypeJIT: +def _convert_fill_arg(fill: datapoints._FillType) -> datapoints._FillTypeJIT: # Fill = 0 is not equivalent to None, https://github.com/pytorch/vision/issues/6517 # So, we can't reassign fill to 0 # if fill is None: @@ -65,7 +65,7 @@ def _convert_fill_arg(fill: datapoints.FillType) -> datapoints.FillTypeJIT: return fill # type: ignore[return-value] -def _setup_fill_arg(fill: Union[FillType, Dict[Type, FillType]]) -> Dict[Type, FillTypeJIT]: +def _setup_fill_arg(fill: Union[_FillType, Dict[Type, _FillType]]) -> Dict[Type, _FillTypeJIT]: _check_fill_arg(fill) if isinstance(fill, dict): diff --git a/torchvision/transforms/v2/functional/_augment.py b/torchvision/transforms/v2/functional/_augment.py index e9d0339a982..9aedae814bd 100644 --- a/torchvision/transforms/v2/functional/_augment.py +++ b/torchvision/transforms/v2/functional/_augment.py @@ -36,14 +36,14 @@ def erase_video( def erase( - inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT], + inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT], i: int, j: int, h: int, w: int, v: torch.Tensor, inplace: bool = False, -) -> Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT]: +) -> Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT]: if not torch.jit.is_scripting(): _log_api_usage_once(erase) diff --git a/torchvision/transforms/v2/functional/_color.py b/torchvision/transforms/v2/functional/_color.py index cf8d73dfff5..4ba7e5b36b3 100644 --- a/torchvision/transforms/v2/functional/_color.py +++ b/torchvision/transforms/v2/functional/_color.py @@ -37,8 +37,8 @@ def rgb_to_grayscale_image_tensor(image: torch.Tensor, num_output_channels: int def rgb_to_grayscale( - inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT], num_output_channels: int = 1 -) -> Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT]: + inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT], num_output_channels: int = 1 +) -> Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT]: if not torch.jit.is_scripting(): _log_api_usage_once(rgb_to_grayscale) if num_output_channels not in (1, 3): @@ -85,7 +85,7 @@ def adjust_brightness_video(video: torch.Tensor, brightness_factor: float) -> to return adjust_brightness_image_tensor(video, brightness_factor=brightness_factor) -def adjust_brightness(inpt: datapoints.InputTypeJIT, brightness_factor: float) -> datapoints.InputTypeJIT: +def adjust_brightness(inpt: datapoints._InputTypeJIT, brightness_factor: float) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(adjust_brightness) @@ -127,7 +127,7 @@ def adjust_saturation_video(video: torch.Tensor, saturation_factor: float) -> to return adjust_saturation_image_tensor(video, saturation_factor=saturation_factor) -def adjust_saturation(inpt: datapoints.InputTypeJIT, saturation_factor: float) -> datapoints.InputTypeJIT: +def adjust_saturation(inpt: datapoints._InputTypeJIT, saturation_factor: float) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(adjust_saturation) @@ -171,7 +171,7 @@ def adjust_contrast_video(video: torch.Tensor, contrast_factor: float) -> torch. return adjust_contrast_image_tensor(video, contrast_factor=contrast_factor) -def adjust_contrast(inpt: datapoints.InputTypeJIT, contrast_factor: float) -> datapoints.InputTypeJIT: +def adjust_contrast(inpt: datapoints._InputTypeJIT, contrast_factor: float) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(adjust_contrast) @@ -247,7 +247,7 @@ def adjust_sharpness_video(video: torch.Tensor, sharpness_factor: float) -> torc return adjust_sharpness_image_tensor(video, sharpness_factor=sharpness_factor) -def adjust_sharpness(inpt: datapoints.InputTypeJIT, sharpness_factor: float) -> datapoints.InputTypeJIT: +def adjust_sharpness(inpt: datapoints._InputTypeJIT, sharpness_factor: float) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(adjust_sharpness) @@ -364,7 +364,7 @@ def adjust_hue_video(video: torch.Tensor, hue_factor: float) -> torch.Tensor: return adjust_hue_image_tensor(video, hue_factor=hue_factor) -def adjust_hue(inpt: datapoints.InputTypeJIT, hue_factor: float) -> datapoints.InputTypeJIT: +def adjust_hue(inpt: datapoints._InputTypeJIT, hue_factor: float) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(adjust_hue) @@ -407,7 +407,7 @@ def adjust_gamma_video(video: torch.Tensor, gamma: float, gain: float = 1) -> to return adjust_gamma_image_tensor(video, gamma=gamma, gain=gain) -def adjust_gamma(inpt: datapoints.InputTypeJIT, gamma: float, gain: float = 1) -> datapoints.InputTypeJIT: +def adjust_gamma(inpt: datapoints._InputTypeJIT, gamma: float, gain: float = 1) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(adjust_gamma) @@ -444,7 +444,7 @@ def posterize_video(video: torch.Tensor, bits: int) -> torch.Tensor: return posterize_image_tensor(video, bits=bits) -def posterize(inpt: datapoints.InputTypeJIT, bits: int) -> datapoints.InputTypeJIT: +def posterize(inpt: datapoints._InputTypeJIT, bits: int) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(posterize) @@ -475,7 +475,7 @@ def solarize_video(video: torch.Tensor, threshold: float) -> torch.Tensor: return solarize_image_tensor(video, threshold=threshold) -def solarize(inpt: datapoints.InputTypeJIT, threshold: float) -> datapoints.InputTypeJIT: +def solarize(inpt: datapoints._InputTypeJIT, threshold: float) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(solarize) @@ -528,7 +528,7 @@ def autocontrast_video(video: torch.Tensor) -> torch.Tensor: return autocontrast_image_tensor(video) -def autocontrast(inpt: datapoints.InputTypeJIT) -> datapoints.InputTypeJIT: +def autocontrast(inpt: datapoints._InputTypeJIT) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(autocontrast) @@ -621,7 +621,7 @@ def equalize_video(video: torch.Tensor) -> torch.Tensor: return equalize_image_tensor(video) -def equalize(inpt: datapoints.InputTypeJIT) -> datapoints.InputTypeJIT: +def equalize(inpt: datapoints._InputTypeJIT) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(equalize) @@ -655,7 +655,7 @@ def invert_video(video: torch.Tensor) -> torch.Tensor: return invert_image_tensor(video) -def invert(inpt: datapoints.InputTypeJIT) -> datapoints.InputTypeJIT: +def invert(inpt: datapoints._InputTypeJIT) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(invert) diff --git a/torchvision/transforms/v2/functional/_deprecated.py b/torchvision/transforms/v2/functional/_deprecated.py index 8f035f70889..954daa97c21 100644 --- a/torchvision/transforms/v2/functional/_deprecated.py +++ b/torchvision/transforms/v2/functional/_deprecated.py @@ -31,7 +31,7 @@ def to_tensor(inpt: Any) -> torch.Tensor: return _F.to_tensor(inpt) -def get_image_size(inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT]) -> List[int]: +def get_image_size(inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT]) -> List[int]: warnings.warn( "The function `get_image_size(...)` is deprecated and will be removed in a future release. " "Instead, please use `get_spatial_size(...)` which returns `[h, w]` instead of `[w, h]`." diff --git a/torchvision/transforms/v2/functional/_geometry.py b/torchvision/transforms/v2/functional/_geometry.py index 1ffd7f45452..3da9e71c5a5 100644 --- a/torchvision/transforms/v2/functional/_geometry.py +++ b/torchvision/transforms/v2/functional/_geometry.py @@ -71,7 +71,7 @@ def horizontal_flip_video(video: torch.Tensor) -> torch.Tensor: return horizontal_flip_image_tensor(video) -def horizontal_flip(inpt: datapoints.InputTypeJIT) -> datapoints.InputTypeJIT: +def horizontal_flip(inpt: datapoints._InputTypeJIT) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(horizontal_flip) @@ -120,7 +120,7 @@ def vertical_flip_video(video: torch.Tensor) -> torch.Tensor: return vertical_flip_image_tensor(video) -def vertical_flip(inpt: datapoints.InputTypeJIT) -> datapoints.InputTypeJIT: +def vertical_flip(inpt: datapoints._InputTypeJIT) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(vertical_flip) @@ -255,12 +255,12 @@ def resize_video( def resize( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, size: List[int], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, max_size: Optional[int] = None, antialias: Optional[Union[str, bool]] = "warn", -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(resize) if torch.jit.is_scripting() or is_simple_tensor(inpt): @@ -428,7 +428,7 @@ def _compute_affine_output_size(matrix: List[float], w: int, h: int) -> Tuple[in def _apply_grid_transform( - img: torch.Tensor, grid: torch.Tensor, mode: str, fill: datapoints.FillTypeJIT + img: torch.Tensor, grid: torch.Tensor, mode: str, fill: datapoints._FillTypeJIT ) -> torch.Tensor: # We are using context knowledge that grid should have float dtype @@ -470,7 +470,7 @@ def _assert_grid_transform_inputs( image: torch.Tensor, matrix: Optional[List[float]], interpolation: str, - fill: datapoints.FillTypeJIT, + fill: datapoints._FillTypeJIT, supported_interpolation_modes: List[str], coeffs: Optional[List[float]] = None, ) -> None: @@ -533,7 +533,7 @@ def affine_image_tensor( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, center: Optional[List[float]] = None, ) -> torch.Tensor: interpolation = _check_interpolation(interpolation) @@ -585,7 +585,7 @@ def affine_image_pil( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, center: Optional[List[float]] = None, ) -> PIL.Image.Image: interpolation = _check_interpolation(interpolation) @@ -721,7 +721,7 @@ def affine_mask( translate: List[float], scale: float, shear: List[float], - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, center: Optional[List[float]] = None, ) -> torch.Tensor: if mask.ndim < 3: @@ -754,7 +754,7 @@ def affine_video( scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, center: Optional[List[float]] = None, ) -> torch.Tensor: return affine_image_tensor( @@ -770,15 +770,15 @@ def affine_video( def affine( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, angle: Union[int, float], translate: List[float], scale: float, shear: List[float], interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, center: Optional[List[float]] = None, -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(affine) @@ -822,7 +822,7 @@ def rotate_image_tensor( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> torch.Tensor: interpolation = _check_interpolation(interpolation) @@ -867,7 +867,7 @@ def rotate_image_pil( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> PIL.Image.Image: interpolation = _check_interpolation(interpolation) @@ -910,7 +910,7 @@ def rotate_mask( angle: float, expand: bool = False, center: Optional[List[float]] = None, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> torch.Tensor: if mask.ndim < 3: mask = mask.unsqueeze(0) @@ -939,19 +939,19 @@ def rotate_video( interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> torch.Tensor: return rotate_image_tensor(video, angle, interpolation=interpolation, expand=expand, fill=fill, center=center) def rotate( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, angle: float, interpolation: Union[InterpolationMode, int] = InterpolationMode.NEAREST, expand: bool = False, center: Optional[List[float]] = None, - fill: datapoints.FillTypeJIT = None, -) -> datapoints.InputTypeJIT: + fill: datapoints._FillTypeJIT = None, +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(rotate) @@ -1156,11 +1156,11 @@ def pad_video( def pad( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, padding: List[int], fill: Optional[Union[int, float, List[float]]] = None, padding_mode: str = "constant", -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(pad) @@ -1239,7 +1239,7 @@ def crop_video(video: torch.Tensor, top: int, left: int, height: int, width: int return crop_image_tensor(video, top, left, height, width) -def crop(inpt: datapoints.InputTypeJIT, top: int, left: int, height: int, width: int) -> datapoints.InputTypeJIT: +def crop(inpt: datapoints._InputTypeJIT, top: int, left: int, height: int, width: int) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(crop) @@ -1308,7 +1308,7 @@ def perspective_image_tensor( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> torch.Tensor: perspective_coeffs = _perspective_coefficients(startpoints, endpoints, coefficients) @@ -1355,7 +1355,7 @@ def perspective_image_pil( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BICUBIC, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> PIL.Image.Image: perspective_coeffs = _perspective_coefficients(startpoints, endpoints, coefficients) @@ -1461,7 +1461,7 @@ def perspective_mask( mask: torch.Tensor, startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> torch.Tensor: if mask.ndim < 3: @@ -1485,7 +1485,7 @@ def perspective_video( startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, coefficients: Optional[List[float]] = None, ) -> torch.Tensor: return perspective_image_tensor( @@ -1494,13 +1494,13 @@ def perspective_video( def perspective( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, startpoints: Optional[List[List[int]]], endpoints: Optional[List[List[int]]], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, coefficients: Optional[List[float]] = None, -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(perspective) if torch.jit.is_scripting() or is_simple_tensor(inpt): @@ -1526,7 +1526,7 @@ def elastic_image_tensor( image: torch.Tensor, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> torch.Tensor: interpolation = _check_interpolation(interpolation) @@ -1583,7 +1583,7 @@ def elastic_image_pil( image: PIL.Image.Image, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> PIL.Image.Image: t_img = pil_to_tensor(image) output = elastic_image_tensor(t_img, displacement, interpolation=interpolation, fill=fill) @@ -1656,7 +1656,7 @@ def elastic_bounding_box( def elastic_mask( mask: torch.Tensor, displacement: torch.Tensor, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> torch.Tensor: if mask.ndim < 3: mask = mask.unsqueeze(0) @@ -1676,17 +1676,17 @@ def elastic_video( video: torch.Tensor, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, + fill: datapoints._FillTypeJIT = None, ) -> torch.Tensor: return elastic_image_tensor(video, displacement, interpolation=interpolation, fill=fill) def elastic( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, displacement: torch.Tensor, interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, - fill: datapoints.FillTypeJIT = None, -) -> datapoints.InputTypeJIT: + fill: datapoints._FillTypeJIT = None, +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(elastic) @@ -1802,7 +1802,7 @@ def center_crop_video(video: torch.Tensor, output_size: List[int]) -> torch.Tens return center_crop_image_tensor(video, output_size) -def center_crop(inpt: datapoints.InputTypeJIT, output_size: List[int]) -> datapoints.InputTypeJIT: +def center_crop(inpt: datapoints._InputTypeJIT, output_size: List[int]) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(center_crop) @@ -1888,7 +1888,7 @@ def resized_crop_video( def resized_crop( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, top: int, left: int, height: int, @@ -1896,7 +1896,7 @@ def resized_crop( size: List[int], interpolation: Union[InterpolationMode, int] = InterpolationMode.BILINEAR, antialias: Optional[Union[str, bool]] = "warn", -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(resized_crop) @@ -1972,7 +1972,7 @@ def five_crop_video( return five_crop_image_tensor(video, size) -ImageOrVideoTypeJIT = Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT] +ImageOrVideoTypeJIT = Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT] def five_crop( @@ -2069,7 +2069,7 @@ def ten_crop_video( def ten_crop( - inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT], size: List[int], vertical_flip: bool = False + inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT], size: List[int], vertical_flip: bool = False ) -> Tuple[ ImageOrVideoTypeJIT, ImageOrVideoTypeJIT, diff --git a/torchvision/transforms/v2/functional/_meta.py b/torchvision/transforms/v2/functional/_meta.py index dc96838ddf1..8ffa3966195 100644 --- a/torchvision/transforms/v2/functional/_meta.py +++ b/torchvision/transforms/v2/functional/_meta.py @@ -27,7 +27,7 @@ def get_dimensions_image_tensor(image: torch.Tensor) -> List[int]: get_dimensions_image_pil = _FP.get_dimensions -def get_dimensions(inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT]) -> List[int]: +def get_dimensions(inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT]) -> List[int]: if not torch.jit.is_scripting(): _log_api_usage_once(get_dimensions) @@ -64,7 +64,7 @@ def get_num_channels_video(video: torch.Tensor) -> int: return get_num_channels_image_tensor(video) -def get_num_channels(inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT]) -> int: +def get_num_channels(inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT]) -> int: if not torch.jit.is_scripting(): _log_api_usage_once(get_num_channels) @@ -114,7 +114,7 @@ def get_spatial_size_bounding_box(bounding_box: datapoints.BoundingBox) -> List[ return list(bounding_box.spatial_size) -def get_spatial_size(inpt: datapoints.InputTypeJIT) -> List[int]: +def get_spatial_size(inpt: datapoints._InputTypeJIT) -> List[int]: if not torch.jit.is_scripting(): _log_api_usage_once(get_spatial_size) @@ -135,7 +135,7 @@ def get_num_frames_video(video: torch.Tensor) -> int: return video.shape[-4] -def get_num_frames(inpt: datapoints.VideoTypeJIT) -> int: +def get_num_frames(inpt: datapoints._VideoTypeJIT) -> int: if not torch.jit.is_scripting(): _log_api_usage_once(get_num_frames) @@ -208,11 +208,11 @@ def _convert_format_bounding_box( def convert_format_bounding_box( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, old_format: Optional[BoundingBoxFormat] = None, new_format: Optional[BoundingBoxFormat] = None, inplace: bool = False, -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: # This being a kernel / dispatcher hybrid, we need an option to pass `old_format` explicitly for simple tensor # inputs as well as extract it from `datapoints.BoundingBox` inputs. However, putting a default value on # `old_format` means we also need to put one on `new_format` to have syntactically correct Python. Here we mimic the @@ -259,10 +259,10 @@ def _clamp_bounding_box( def clamp_bounding_box( - inpt: datapoints.InputTypeJIT, + inpt: datapoints._InputTypeJIT, format: Optional[BoundingBoxFormat] = None, spatial_size: Optional[Tuple[int, int]] = None, -) -> datapoints.InputTypeJIT: +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(clamp_bounding_box) @@ -355,7 +355,7 @@ def convert_dtype_video(video: torch.Tensor, dtype: torch.dtype = torch.float) - def convert_dtype( - inpt: Union[datapoints.ImageTypeJIT, datapoints.VideoTypeJIT], dtype: torch.dtype = torch.float + inpt: Union[datapoints._ImageTypeJIT, datapoints._VideoTypeJIT], dtype: torch.dtype = torch.float ) -> torch.Tensor: if not torch.jit.is_scripting(): _log_api_usage_once(convert_dtype) diff --git a/torchvision/transforms/v2/functional/_misc.py b/torchvision/transforms/v2/functional/_misc.py index cf728e27825..9abb3ac22ce 100644 --- a/torchvision/transforms/v2/functional/_misc.py +++ b/torchvision/transforms/v2/functional/_misc.py @@ -53,7 +53,7 @@ def normalize_video(video: torch.Tensor, mean: List[float], std: List[float], in def normalize( - inpt: Union[datapoints.TensorImageTypeJIT, datapoints.TensorVideoTypeJIT], + inpt: Union[datapoints._TensorImageTypeJIT, datapoints._TensorVideoTypeJIT], mean: List[float], std: List[float], inplace: bool = False, @@ -166,8 +166,8 @@ def gaussian_blur_video( def gaussian_blur( - inpt: datapoints.InputTypeJIT, kernel_size: List[int], sigma: Optional[List[float]] = None -) -> datapoints.InputTypeJIT: + inpt: datapoints._InputTypeJIT, kernel_size: List[int], sigma: Optional[List[float]] = None +) -> datapoints._InputTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(gaussian_blur) diff --git a/torchvision/transforms/v2/functional/_temporal.py b/torchvision/transforms/v2/functional/_temporal.py index 438e6b5199a..5612a38779e 100644 --- a/torchvision/transforms/v2/functional/_temporal.py +++ b/torchvision/transforms/v2/functional/_temporal.py @@ -14,7 +14,7 @@ def uniform_temporal_subsample_video(video: torch.Tensor, num_samples: int) -> t return torch.index_select(video, -4, indices) -def uniform_temporal_subsample(inpt: datapoints.VideoTypeJIT, num_samples: int) -> datapoints.VideoTypeJIT: +def uniform_temporal_subsample(inpt: datapoints._VideoTypeJIT, num_samples: int) -> datapoints._VideoTypeJIT: if not torch.jit.is_scripting(): _log_api_usage_once(uniform_temporal_subsample)