Метод to
Метод to класса Tensor выполняет преобразование тензора к указанному типу данных, устройству или копирует его на другое устройство. Метод позволяет одновременно задать и тип данных, и устройство. Возвращает новый тензор с указанными характеристиками.
Синтаксис
t.to(dtype, device)
t.to(device)
t.to(dtype)
Пример
Давайте создадим целочисленный тензор и преобразуем его к типу float:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
t = t.to(dtype=torch.float)
print(t)
Результат выполнения кода:
tensor([1., 2., 3., 4., 5.])
Пример
Преобразуем тензор к типу double:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
t = t.to(dtype=torch.double)
print(t.dtype)
Результат выполнения кода:
torch.float64
Пример
Переместим тензор на устройство cuda, если оно доступно:
import torch
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5])
t = t.to(device='cuda')
print(t.device)
Результат выполнения кода:
device(type='cuda', index=0)
Пример
Одновременно изменим тип данных и устройство тензора:
import torch
if torch.cuda.is_available():
t = torch.tensor([1, 2, 3, 4, 5])
t = t.to(device='cuda', dtype=torch.float)
print(t.device, t.dtype)
Результат выполнения кода:
device(type='cuda', index=0) torch.float32