Spec-Zone.ru › PyTorch 2

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/2.1/generated/torch.Tensor.to.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API