Тип int64
Тип данных torch.int64 (также известный как torch.long) представляет
64-битное целое число со знаком. Это один из основных целочисленных типов в PyTorch,
который часто используется для индексации, меток классов и работы с большими целыми числами.
Диапазон значений для типа int64 составляет от -9 223 372 036 854 775 808 до
9 223 372 036 854 775 807.
Синтаксис
torch.tensor(data, dtype=torch.int64)
Пример
Давайте создадим тензор с типом int64 из списка чисел:
import torch
t = torch.tensor([1, 2, 3, 4, 5], dtype=torch.int64)
print(t)
print(t.dtype)
Результат выполнения кода:
tensor([1, 2, 3, 4, 5])
torch.int64
Пример
Тип int64 автоматически выбирается при создании тензора из целых чисел,
если они не помещаются в тип int32. Создадим тензор с большими числами:
import torch
t = torch.tensor([2147483648, 2147483649, 2147483650])
print(t)
print(t.dtype)
Результат выполнения кода:
tensor([2147483648, 2147483649, 2147483650])
torch.int64
Пример
Преобразуем существующий тензор в тип int64 с помощью метода to:
import torch
t = torch.tensor([1.5, 2.7, 3.9])
t_int64 = t.to(torch.int64)
print(t_int64)
print(t_int64.dtype)
Результат выполнения кода:
tensor([1, 2, 3])
torch.int64
При преобразовании из вещественного типа дробная часть отбрасывается.
Пример
Тип int64 часто используется для создания тензоров индексов.
Создадим тензор индексов для выборки элементов:
import torch
data = torch.tensor([10, 20, 30, 40, 50, 60])
indices = torch.tensor([0, 2, 4], dtype=torch.int64)
result = data[indices]
print(result)
Результат выполнения кода:
tensor([10, 30, 50])
Пример
Создадим двумерный тензор типа int64:
import torch
t = torch.tensor([
[1, 2, 3],
[4, 5, 6],
], dtype=torch.int64)
print(t)
print(t.dtype)
Результат выполнения кода:
tensor([
[1, 2, 3],
[4, 5, 6],
])
torch.int64
Пример
Используем тип int64 для создания тензора меток классов в задаче классификации:
import torch
labels = torch.tensor([2, 0, 1, 3, 0], dtype=torch.int64)
print(labels)
print(labels.dtype)
print("Number of classes:", len(torch.unique(labels)))
Результат выполнения кода:
tensor([2, 0, 1, 3, 0])
torch.int64
Number of classes: 4