當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


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。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。