当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


Python PyTorch Tensor.to用法及代码示例


本文简要介绍python语言中 torch.Tensor.to 的用法。

用法:

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

执行 Tensor dtype 和/或设备转换。 A torch.dtype torch.device 是从 self.to(*args, **kwargs) 的参数推断出来的。

注意

如果 self 张量已经具有正确的 torch.dtype torch.device ,则返回 self。否则,返回的张量是 self 的副本,其中包含所需的 torch.dtype torch.device

以下是调用 to 的方法:

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

返回具有指定 dtype 的张量

参数:

memory_format( torch.memory_format ,可选):返回张量所需的内存格式。默认值:torch.preserve_format

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

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

参数:

memory_format( torch.memory_format ,可选):返回张量所需的内存格式。默认值:torch.preserve_format

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

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

例子:

>>> 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.org大神的英文原创作品 torch.Tensor.to。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。