Метод item
Метод item преобразует тензор PyTorch, содержащий ровно один элемент, в скалярное значение Python.
Этот метод особенно полезен при извлечении значений потерь, точности или любых других одиночных результатов вычислений.
Метод не принимает никаких параметров и возвращает значение типа int, float или bool в зависимости от типа данных тензора.
Синтаксис
tensor.item()
Пример
Давайте создадим тензор с одним элементом и извлечём его значение:
import torch
t = torch.tensor([42])
res = t.item()
print(res)
Результат выполнения кода:
42
Пример
Давайте извлечём значение из тензора с плавающей точкой:
import torch
t = torch.tensor([3.14159])
res = t.item()
print(res)
Результат выполнения кода:
3.14159
Пример
Давайте извлечём значение из булева тензора:
import torch
t = torch.tensor([True])
res = t.item()
print(res)
Результат выполнения кода:
True
Пример
Давайте попробуем применить item к тензору, содержащему несколько элементов:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
try:
res = t.item()
except ValueError as e:
print(e)
Результат выполнения кода:
"only one element tensors can be converted to Python scalars"
Пример
Давайте вычислим сумму элементов тензора и извлечём результат:
import torch
t = torch.tensor([1, 2, 3, 4, 5])
sum_t = t.sum()
res = sum_t.item()
print(res)
Результат выполнения кода:
15