Skip to content

Commit ff091ce

Browse files
committed
updated torch.py functions to raise an explicit TypeError
1 parent 7cbc145 commit ff091ce

1 file changed

Lines changed: 12 additions & 3 deletions

File tree

perceptionmetrics/utils/torch.py

Lines changed: 12 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,7 @@ def data_to_device(
1616
:type device: torch.device
1717
:return: Data moved to device
1818
:rtype: Union[tuple, list]
19+
:raises TypeError: If data is not a tensor, list, or tuple
1920
"""
2021
if isinstance(data, (tuple, list)):
2122
return type(data)(
@@ -25,7 +26,9 @@ def data_to_device(
2526
elif torch.is_tensor(data):
2627
return data.to(device)
2728
else:
28-
return data
29+
raise TypeError(
30+
f"data_to_device expected torch.Tensor, list, or tuple, but got {type(data)}"
31+
)
2932

3033

3134
def get_data_shape(data: Union[tuple, list]) -> Union[tuple, list]:
@@ -35,6 +38,7 @@ def get_data_shape(data: Union[tuple, list]) -> Union[tuple, list]:
3538
:type data: Union[tuple, list]
3639
:return: Data shape
3740
:rtype: Union[tuple, list]
41+
:raises TypeError: If data is not a tensor, list, or tuple
3842
"""
3943
if isinstance(data, (tuple, list)):
4044
return type(data)(
@@ -43,7 +47,9 @@ def get_data_shape(data: Union[tuple, list]) -> Union[tuple, list]:
4347
elif torch.is_tensor(data):
4448
return tuple(data.shape)
4549
else:
46-
return data
50+
raise TypeError(
51+
f"get_data_shape expected torch.Tensor, list, or tuple, but got {type(data)}"
52+
)
4753

4854

4955
def unsqueeze_data(data: Union[tuple, list], dim: int = 0) -> Union[tuple, list]:
@@ -55,6 +61,7 @@ def unsqueeze_data(data: Union[tuple, list], dim: int = 0) -> Union[tuple, list]
5561
:type dim: int, optional
5662
:return: Unsqueezed data
5763
:rtype: Union[tuple, list]
64+
:raises TypeError: If data is not a tensor, list, or tuple
5865
"""
5966
if isinstance(data, (tuple, list)):
6067
return type(data)(
@@ -64,7 +71,9 @@ def unsqueeze_data(data: Union[tuple, list], dim: int = 0) -> Union[tuple, list]
6471
elif torch.is_tensor(data):
6572
return data.unsqueeze(dim)
6673
else:
67-
return data
74+
raise TypeError(
75+
f"unsqueeze_data expected torch.Tensor, list, or tuple, but got {type(data)}"
76+
)
6877

6978

7079
def get_device_info():

0 commit comments

Comments
 (0)