Тип float64
Тип данных float64 (также известный как double) представляет
64-битные числа с плавающей точкой двойной точности в PyTorch.
Этот тип обеспечивает высокую точность вычислений и широкий диапазон
представления чисел. Он занимает 8 байт памяти и рекомендуется для
научных расчётов, где важна точность.
Синтаксис
torch.float64
torch.double
torch.tensor(..., dtype=torch.float64)
t.to(torch.float64)
Пример
Давайте создадим тензор с типом float64 и выведем его тип:
import torch
t = torch.tensor([1, 2, 3, 4, 5], dtype=torch.float64)
print(t.dtype)
Результат выполнения кода:
torch.float64
Пример
Преобразуем существующий тензор в тип float64 с помощью метода to:
import torch
t = torch.tensor([1, 2, 3])
print("Исходный тип:", t.dtype)
t = t.to(torch.float64)
print("Новый тип:", t.dtype)
Результат выполнения кода:
Исходный тип: torch.int64
Новый тип: torch.float64
Пример
Создадим тензор с числами с плавающей точкой и укажем тип float64:
import torch
t = torch.tensor([1.5, 2.7, 3.14, 4.99], dtype=torch.float64)
print(t)
print("Размер элемента:", t.element_size(), "байт")
Результат выполнения кода:
tensor([1.5000, 2.7000, 3.1400, 4.9900], dtype=torch.float64)
Размер элемента: 8 байт
Пример
Покажем разницу в точности между float32 и float64 при
выполнении вычислений с большими числами:
import torch
torch.manual_seed(0)
t1 = torch.tensor(1e8, dtype=torch.float32)
t2 = torch.tensor(1e8, dtype=torch.float64)
res1 = t1 + 0.0001
res2 = t2 + 0.0001
print("float32:", res1)
print("float64:", res2)
Результат выполнения кода:
float32: tensor(100000000.0000)
float64: tensor(100000000.0001, dtype=torch.float64)
Как видно, тип float64 сохранил добавленную малую величину,
в то время как float32 потерял её из-за ограниченной точности.
Смотрите также
-
тип
float32,
который представляет 32-битные числа с плавающей точкой -
тип
float16,
который представляет 16-битные числа с плавающей точкой -
функцию
set_default_dtype,
которая устанавливает глобальный тип по умолчанию -
функцию
promote_types,
которая возвращает тип, полученный в результате повышения типов