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. ЕслиdtypeNone, он выводится как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/2.1/generated/torch.Tensor.to.html