将张量转换为指定的设备和数据类型。
to(device: Optional[Union[str, torch.device]] = None, dtype: Optional[torch.dtype] = None, non_blocking: bool = False) -> 'Tensor'
device
(Optional[Union[str, torch.device]]): 要转换到的设备。 如果未提供,则不会更改设备。dtype
(Optional[torch.dtype]): 要转换为的数据类型。 如果未提供,则不会更改数据类型。non_blocking
(bool): 如果为 True
,则返回的张量必须是异步获取的(需要CUDA异步传输)。返回转换后的张量。
import open3d as o3d
# 创建张量
a = o3d.core.Tensor([1, 2, 3])
# 转换到cuda设备
a_cuda = a.to('cuda')
# 转换到float32数据类型
a_float = a.to(dtype=o3d.core.float32)
TypeError
: 如果 device
参数不是 str
或 torch.device
类型。ValueError
: 如果 dtype
参数不是可用的 Open3D 数据类型之一。