Source code for dl_utils.data.array
# -*- coding: utf-8 -*-
# @Time : 7/17/25
# @Author : Yaojie Shen
# @Project : Deep-Learning-Utils
# @File : array.py
import numpy as np
import torch
from ..type_hint import ArrayLike
[docs]
def to_numpy(array: ArrayLike) -> np.ndarray:
"""
Convert array-like object to numpy array.
"""
if isinstance(array, np.ndarray):
return array
elif isinstance(array, torch.Tensor):
return array.detach().cpu().numpy()
else:
raise TypeError(f"Unsupported type: {type(array)}")
[docs]
def to_tensor(array: ArrayLike) -> torch.Tensor:
"""
Convert array-like object to torch tensor.
"""
if isinstance(array, torch.Tensor):
return array
elif isinstance(array, np.ndarray):
return torch.from_numpy(array)
else:
raise TypeError(f"Unsupported type: {type(array)}")
[docs]
def to_original(array: ArrayLike, ori_dtype) -> ArrayLike:
"""
Convert array-like object to original type.
"""
if ori_dtype is np.ndarray:
return to_numpy(array)
elif ori_dtype is torch.Tensor:
return to_tensor(array)
else:
raise TypeError(f"Unsupported type: {ori_dtype}")
__all__ = [
"to_numpy",
"to_tensor",
"to_original",
]