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


Python PyTorch Module.to用法及代碼示例


本文簡要介紹python語言中 torch.nn.Module.to 的用法。

用法:

to(*args, **kwargs)

參數

  • device(torch.device) -該模塊中參數和緩衝區的所需設備

  • dtype(torch.dtype) -此模塊中參數和緩衝區的所需浮點或複雜數據類型

  • tensor(torch.Tensor) -張量,其 dtype 和 device 是該模塊中所有參數和緩衝區所需的 dtype 和 device

  • memory_format(torch.memory_format) -此模塊中 4D 參數和緩衝區的所需內存格式(僅關鍵字參數)

返回

self

返回類型

模塊

移動和/或強製轉換參數和緩衝區。

這可以稱為

to(device=None, dtype=None, non_blocking=False)
to(dtype, non_blocking=False)
to(tensor, non_blocking=False)
to(memory_format=torch.channels_last)

它的簽名類似於 torch.Tensor.to() ,但隻接受浮點或複數 dtype s。此外,此方法隻會將浮點數或複數參數和緩衝區轉換為dtype(如果給定)。積分參數和緩衝區將被移動 device ,如果給出,但 dtypes 不變。當 non_blocking 設置時,如果可能,它會嘗試相對於主機異步轉換/移動,例如,將帶有固定內存的 CPU 張量移動到 CUDA 設備。

請參閱下麵的示例。

注意

此方法就地修改模塊。

例子:

>>> linear = nn.Linear(2, 2)
>>> linear.weight
Parameter containing:
tensor([[ 0.1913, -0.3420],
        [-0.5113, -0.2325]])
>>> linear.to(torch.double)
Linear(in_features=2, out_features=2, bias=True)
>>> linear.weight
Parameter containing:
tensor([[ 0.1913, -0.3420],
        [-0.5113, -0.2325]], dtype=torch.float64)
>>> gpu1 = torch.device("cuda:1")
>>> linear.to(gpu1, dtype=torch.half, non_blocking=True)
Linear(in_features=2, out_features=2, bias=True)
>>> linear.weight
Parameter containing:
tensor([[ 0.1914, -0.3420],
        [-0.5112, -0.2324]], dtype=torch.float16, device='cuda:1')
>>> cpu = torch.device("cpu")
>>> linear.to(cpu)
Linear(in_features=2, out_features=2, bias=True)
>>> linear.weight
Parameter containing:
tensor([[ 0.1914, -0.3420],
        [-0.5112, -0.2324]], dtype=torch.float16)

>>> linear = nn.Linear(2, 2, bias=None).to(torch.cdouble)
>>> linear.weight
Parameter containing:
tensor([[ 0.3741+0.j,  0.2382+0.j],
        [ 0.5593+0.j, -0.4443+0.j]], dtype=torch.complex128)
>>> linear(torch.ones(3, 2, dtype=torch.cdouble))
tensor([[0.6122+0.j, 0.1150+0.j],
        [0.6122+0.j, 0.1150+0.j],
        [0.6122+0.j, 0.1150+0.j]], dtype=torch.complex128)

相關用法


注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.Module.to。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。