Функция mse_loss
Функция mse_loss вычисляет среднюю квадратичную ошибку
(Mean Squared Error) между элементами двух тензоров.
Она принимает два тензора: прогнозируемые значения и целевые значения.
Ключевым параметром является reduction, который определяет
способ агрегации ошибки: вычисление среднего значения ('mean'),
суммы ('sum') или возврат поэлементной ошибки ('none').
Синтаксис
torch.nn.functional.mse_loss(input, target, reduction='mean')
Пример
Базовый пример вычисления MSE с параметром reduction='mean':
import torch
import torch.nn.functional as F
input = torch.tensor([1.0, 2.0, 3.0])
target = torch.tensor([1.5, 2.5, 3.5])
res = F.mse_loss(input, target)
print(res.item())
Результат выполнения кода:
0.25
Пример
Использование параметра reduction='sum' для получения суммы квадратов ошибок:
import torch
import torch.nn.functional as F
input = torch.tensor([1.0, 2.0, 3.0])
target = torch.tensor([1.5, 2.5, 3.5])
res = F.mse_loss(input, target, reduction='sum')
print(res.item())
Результат выполнения кода:
0.75
Пример
Использование параметра reduction='none' для получения поэлементной ошибки:
import torch
import torch.nn.functional as F
input = torch.tensor([1.0, 2.0, 3.0])
target = torch.tensor([1.5, 2.5, 3.5])
res = F.mse_loss(input, target, reduction='none')
print(res)
Результат выполнения кода:
tensor([0.2500, 0.2500, 0.2500])
Пример
Вычисление MSE для двумерных тензоров (например, батча предсказаний):
import torch
import torch.nn.functional as F
torch.manual_seed(0)
input = torch.randn(2, 3)
target = torch.randn(2, 3)
res = F.mse_loss(input, target)
print(res.item())
Результат выполнения кода:
0.7417090535163879
Смотрите также
-
функцию
l1_loss,
которая вычисляет среднюю абсолютную ошибку -
функцию
smooth_l1_loss,
которая является комбинацией L1 и L2 потерь -
функцию
huber_loss,
которая устойчива к выбросам -
функцию
cross_entropy,
которая используется для задач классификации