本文簡要介紹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)
參數:
返回:
返回類型:
相關用法
- Python PyTorch Module.buffers用法及代碼示例
- Python PyTorch Module.register_full_backward_hook用法及代碼示例
- Python PyTorch Module.named_modules用法及代碼示例
- Python PyTorch Module.parameters用法及代碼示例
- Python PyTorch Module.register_forward_hook用法及代碼示例
- Python PyTorch Module.named_parameters用法及代碼示例
- Python PyTorch Module.state_dict用法及代碼示例
- Python PyTorch Module.register_forward_pre_hook用法及代碼示例
- Python PyTorch Module.named_children用法及代碼示例
- Python PyTorch Module.modules用法及代碼示例
- Python PyTorch Module.register_buffer用法及代碼示例
- Python PyTorch Module.apply用法及代碼示例
- Python PyTorch Module.named_buffers用法及代碼示例
- Python PyTorch ModuleList用法及代碼示例
- Python PyTorch Module用法及代碼示例
- Python PyTorch ModuleDict用法及代碼示例
- Python PyTorch MaxUnpool3d用法及代碼示例
- Python PyTorch MultiStepLR用法及代碼示例
- Python PyTorch MaxPool1d用法及代碼示例
- Python PyTorch MetaInferGroupedPooledEmbeddingsLookup.state_dict用法及代碼示例
- Python PyTorch MetaInferGroupedEmbeddingsLookup.named_buffers用法及代碼示例
- Python PyTorch MultiLabelMarginLoss用法及代碼示例
- Python PyTorch MultiplicativeLR用法及代碼示例
- Python PyTorch MixtureSameFamily用法及代碼示例
- Python PyTorch MultiheadAttention用法及代碼示例
注:本文由純淨天空篩選整理自pytorch.org大神的英文原創作品 torch.nn.Module.to。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。