快捷方式

torch.Tensor.to

Tensor.to(*args, **kwargs) Tensor

执行 Tensor dtype 和/或设备转换。 torch.dtypetorch.deviceself.to(*args, **kwargs) 的参数中推断得出。

注意

如果 self Tensor 已经具有正确的 torch.dtypetorch.device,则返回 self。 否则,返回的 tensor 是 self 的副本,具有所需的 torch.dtypetorch.device

以下是调用 to 的方式

to(dtype, non_blocking=False, copy=False, memory_format=torch.preserve_format) Tensor

返回具有指定 dtype 的 Tensor

参数

memory_format (torch.memory_format, 可选): 返回 Tensor 的期望内存格式。 默认值: torch.preserve_format

torch.to(device=None, dtype=None, non_blocking=False, copy=False, memory_format=torch.preserve_format) Tensor

返回具有指定 device 和(可选)dtype 的 Tensor。 如果 dtypeNone,则推断为 self.dtype。 当 non_blocking 为 True 时,如果可能,尝试相对于主机异步转换,例如,将具有固定内存的 CPU Tensor 转换为 CUDA Tensor。 当设置 copy 时,即使 Tensor 已经匹配期望的转换,也会创建一个新的 Tensor。

参数

memory_format (torch.memory_format, 可选): 返回 Tensor 的期望内存格式。 默认值: torch.preserve_format

torch.to(other, non_blocking=False, copy=False) Tensor

返回与 Tensor other 具有相同 torch.dtypetorch.device 的 Tensor。 当 non_blocking 为 True 时,如果可能,尝试相对于主机异步转换,例如,将具有固定内存的 CPU Tensor 转换为 CUDA Tensor。 当设置 copy 时,即使 Tensor 已经匹配期望的转换,也会创建一个新的 Tensor。

示例

>>> tensor = torch.randn(2, 2)  # Initially dtype=float32, device=cpu
>>> tensor.to(torch.float64)
tensor([[-0.5044,  0.0005],
        [ 0.3310, -0.0584]], dtype=torch.float64)

>>> cuda0 = torch.device('cuda:0')
>>> tensor.to(cuda0)
tensor([[-0.5044,  0.0005],
        [ 0.3310, -0.0584]], device='cuda:0')

>>> tensor.to(cuda0, dtype=torch.float64)
tensor([[-0.5044,  0.0005],
        [ 0.3310, -0.0584]], dtype=torch.float64, device='cuda:0')

>>> other = torch.randn((), dtype=torch.float64, device=cuda0)
>>> tensor.to(other, non_blocking=True)
tensor([[-0.5044,  0.0005],
        [ 0.3310, -0.0584]], dtype=torch.float64, device='cuda:0')

文档

访问 PyTorch 的全面开发者文档

查看文档

教程

获取面向初学者和高级开发者的深入教程

查看教程

资源

查找开发资源并获得您的问题解答

查看资源