: Regression에서 일반적으로 쓰이는 Loss Function 중 하나.
import numpy as np
import torch
import torch.nn as nn
def mse_loss(preds, trues):
# preds, trues: torch tensor
# reduction == 'mean'
assert preds.shape == trues.shape
return torch.sum((preds - trues)**2) / preds.view(-1).shape[0]
# 임의의 2차원 행렬
preds1 = torch.randn(3, 4)
trues1 = torch.randn(3, 4)
# nn.MSELoss()와 mse_loss로 구현한 함수로 구한 loss를 각각 비교
loss1_1 = mse_loss(preds1, trues1)
loss1_2 = nn.MSELoss()(preds1, trues1)
loss1_1, loss1_2
# 3차원 torch tensor에 대해서도 해보자.
preds2 = torch.randn(3, 5, 4)
trues2 = torch.randn(3, 5, 4)
# nn.MSELoss()와 mse_loss로 구현한 함수로 구한 loss를 각각 비교
loss2_1 = mse_loss(preds2, trues2)
loss2_2 = nn.MSELoss()(preds2, trues2)
loss2_1, loss2_2
: 거의 개인 공부 공간이 되어가는 구만