Функция var
Функция var вычисляет дисперсию элементов тензора.
По умолчанию дисперсия вычисляется по всем элементам тензора
и возвращается скалярное значение. Первым параметром
функция принимает тензор, вторым параметром можно указать
измерение dim, вдоль которого будет вычисляться дисперсия.
Третьим параметром keepdim можно управлять сохранением
размерности. Также можно указать параметр unbiased
для использования несмещенной оценки дисперсии.
Синтаксис
torch.var(tensor, [dim], [keepdim], [unbiased])
Пример
Вычислим дисперсию всех элементов тензора:
import torch
t = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])
res = torch.var(t)
print(res)
Результат выполнения кода:
tensor(2.5000)
Пример
Вычислим дисперсию вдоль строк (по столбцам) для двумерного тензора:
import torch
t = torch.tensor([
[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
])
res = torch.var(t, dim=0)
print(res)
Результат выполнения кода:
tensor([4.5000, 4.5000, 4.5000])
Пример
Вычислим дисперсию вдоль столбцов (по строкам) с сохранением размерности:
import torch
t = torch.tensor([
[1.0, 2.0, 3.0],
[4.0, 5.0, 6.0],
])
res = torch.var(t, dim=1, keepdim=True)
print(res)
Результат выполнения кода:
tensor([
[0.6667],
[0.6667],
])
Пример
Используем несмещенную оценку дисперсии (деление на n-1):
import torch
t = torch.tensor([1.0, 2.0, 3.0, 4.0, 5.0])
res = torch.var(t, unbiased=True)
print(res)
Результат выполнения кода:
tensor(2.5000)