Метод double
Метод double преобразует тензор к типу данных с плавающей запятой двойной точности (torch.float64). Этот метод полезен, когда требуется повысить точность вычислений или подготовить тензор для операций, ожидающих тип double. Метод возвращает новый тензор с преобразованным типом, при этом исходный тензор остается неизменным.
Метод не принимает никаких параметров.
Синтаксис
tensor.double()
Пример
Давайте создадим целочисленный тензор и преобразуем его в тип double:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
res = t.double()
print(res)
Результат выполнения кода:
tensor([1., 2., 3., 4., 5.], dtype=torch.float64)
Пример
Метод не изменяет исходный тензор, а возвращает новый. Проверим это:
import torch
t = torch.tensor([1.5, 2.5, 3.5])
res = t.double()
print("Исходный тензор:", t.dtype)
print("Новый тензор:", res.dtype)
Результат выполнения кода:
"Исходный тензор: torch.float32"
"Новый тензор: torch.float64"
Пример
Метод может использоваться для преобразования тензора с типом данных целого числа:
import torch
t = torch.tensor([10, 20, 30], dtype=torch.int64)
res = t.double()
print(res)
Результат выполнения кода:
tensor([10., 20., 30.], dtype=torch.float64)