"git@developer.sourcefind.cn:OpenDAS/torchaudio.git" did not exist on "b9247022c153c6109ca3e2900869f83144be5740"
Unverified Commit a8007dcd authored by Philip Meier's avatar Philip Meier Committed by GitHub
Browse files

rename features._Feature to datapoints._Datapoint (#7002)

* rename features._Feature to datapoints.Datapoint

* _Datapoint to Datapoint

* move is_simple_tensor to transforms.utils

* fix CI

* move Datapoint out of public namespace
parent c093b9c0
from __future__ import annotations
from typing import Any, Callable, List, Tuple, Type, Union from typing import Any, Callable, List, Tuple, Type, Union
import PIL.Image import PIL.Image
import torch
from torchvision._utils import sequence_to_str from torchvision._utils import sequence_to_str
from torchvision.prototype import features from torchvision.prototype import datapoints
from torchvision.prototype.datapoints._datapoint import Datapoint
from torchvision.prototype.transforms.functional import get_dimensions, get_spatial_size from torchvision.prototype.transforms.functional import get_dimensions, get_spatial_size
def query_bounding_box(flat_inputs: List[Any]) -> features.BoundingBox: def is_simple_tensor(inpt: Any) -> bool:
bounding_boxes = [inpt for inpt in flat_inputs if isinstance(inpt, features.BoundingBox)] return isinstance(inpt, torch.Tensor) and not isinstance(inpt, Datapoint)
def query_bounding_box(flat_inputs: List[Any]) -> datapoints.BoundingBox:
bounding_boxes = [inpt for inpt in flat_inputs if isinstance(inpt, datapoints.BoundingBox)]
if not bounding_boxes: if not bounding_boxes:
raise TypeError("No bounding box was found in the sample") raise TypeError("No bounding box was found in the sample")
elif len(bounding_boxes) > 1: elif len(bounding_boxes) > 1:
...@@ -20,7 +28,7 @@ def query_chw(flat_inputs: List[Any]) -> Tuple[int, int, int]: ...@@ -20,7 +28,7 @@ def query_chw(flat_inputs: List[Any]) -> Tuple[int, int, int]:
chws = { chws = {
tuple(get_dimensions(inpt)) tuple(get_dimensions(inpt))
for inpt in flat_inputs for inpt in flat_inputs
if isinstance(inpt, (features.Image, PIL.Image.Image, features.Video)) or features.is_simple_tensor(inpt) if isinstance(inpt, (datapoints.Image, PIL.Image.Image, datapoints.Video)) or is_simple_tensor(inpt)
} }
if not chws: if not chws:
raise TypeError("No image or video was found in the sample") raise TypeError("No image or video was found in the sample")
...@@ -34,8 +42,10 @@ def query_spatial_size(flat_inputs: List[Any]) -> Tuple[int, int]: ...@@ -34,8 +42,10 @@ def query_spatial_size(flat_inputs: List[Any]) -> Tuple[int, int]:
sizes = { sizes = {
tuple(get_spatial_size(inpt)) tuple(get_spatial_size(inpt))
for inpt in flat_inputs for inpt in flat_inputs
if isinstance(inpt, (features.Image, PIL.Image.Image, features.Video, features.Mask, features.BoundingBox)) if isinstance(
or features.is_simple_tensor(inpt) inpt, (datapoints.Image, PIL.Image.Image, datapoints.Video, datapoints.Mask, datapoints.BoundingBox)
)
or is_simple_tensor(inpt)
} }
if not sizes: if not sizes:
raise TypeError("No image, video, mask or bounding box was found in the sample") raise TypeError("No image, video, mask or bounding box was found in the sample")
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment