torch.Tensor.to¶
- Tensor.to(*args, **kwargs) Tensor¶
- Performs Tensor dtype and/or device conversion. A - torch.dtypeand- torch.deviceare inferred from the arguments of- self.to(*args, **kwargs).- Note - If the - selfTensor already has the correct- torch.dtypeand- torch.device, then- selfis returned. Otherwise, the returned tensor is a copy of- selfwith the desired- torch.dtypeand- torch.device.- Here are the ways to call - to:- to(dtype, non_blocking=False, copy=False, memory_format=torch.preserve_format) Tensor
- Returns a Tensor with the specified - dtype- Args:
- memory_format ( - torch.memory_format, optional): the desired memory format of returned Tensor. Default:- torch.preserve_format.
 
 - torch.to(device=None, dtype=None, non_blocking=False, copy=False, memory_format=torch.preserve_format) Tensor
- Returns a Tensor with the specified - deviceand (optional)- dtype. If- dtypeis- Noneit is inferred to be- self.dtype. When- non_blocking, tries to convert asynchronously with respect to the host if possible, e.g., converting a CPU Tensor with pinned memory to a CUDA Tensor. When- copyis set, a new Tensor is created even when the Tensor already matches the desired conversion.- Args:
- memory_format ( - torch.memory_format, optional): the desired memory format of returned Tensor. Default:- torch.preserve_format.
 
 - torch.to(other, non_blocking=False, copy=False) Tensor
- Returns a Tensor with same - torch.dtypeand- torch.deviceas the Tensor- other. When- non_blocking, tries to convert asynchronously with respect to the host if possible, e.g., converting a CPU Tensor with pinned memory to a CUDA Tensor. When- copyis set, a new Tensor is created even when the Tensor already matches the desired conversion.
 - Example: - >>> 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')