torch.Tensor.to
-
Tensor.to(*args, **kwargs) → Tensor -
Выполняет преобразование типа и/или устройства тензора. Тип
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- Args:
-
memory_format (
torch.memory_format, optional): желаемый формат памяти возвращаемого тензора. По умолчанию:torch.preserve_format.
- torch.to(device=None, dtype=None, non_blocking=False, copy=False, memory_format=torch.preserve_format) Tensor
-
Возвращает тензор с указанным устройством
deviceи (необязательным) типомdtype. Еслиdtype—None, он выводится какself.dtype. Когдаnon_blocking, попытка асинхронного преобразования относительно хоста, если возможно, например, преобразование тензора CPU с закрепленной памятью в тензор CUDA. Еслиcopyустановлено, новый тензор создается даже если тензор уже соответствует желаемому преобразованию.- Args:
-
memory_format (
torch.memory_format, optional): желаемый формат памяти возвращаемого тензора. По умолчанию:torch.preserve_format.
- torch.to(other, non_blocking=False, copy=False) Tensor
-
Возвращает тензор с тем же типом
torch.dtypeи устройствомtorch.device, что и тензорother. Когда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')
© 2024, PyTorch Contributors
PyTorch has a BSD-style license, as found in the LICENSE file.
https://pytorch.org/docs/1.13/generated/torch.Tensor.to.html