============================================================
COMPARAÇÃO ENTRE MSE E L1 LOSS (FORMA DIFERENTE)
============================================================
import torch
import torch.nn as nn
------------------------------------------------------------
1) Configuração do dispositivo
------------------------------------------------------------
device = 'cuda' if torch.cuda.is_available() else 'cpu'
------------------------------------------------------------
2) Gerar dados fictícios de regressão
------------------------------------------------------------
Entrada: 10 features
X = torch.randn(100, 10).to(device)
Target: valor contínuo
y = torch.randn(100, 1).to(device)
------------------------------------------------------------
3) Modelo simples (não treinado, como na aula)
------------------------------------------------------------
model = nn.Sequential(
nn.Linear(10, 50),
nn.ReLU(),
nn.Linear(50, 1)
).to(device)
------------------------------------------------------------
4) Forward pass (sem treino)
------------------------------------------------------------
pred = model(X)
------------------------------------------------------------
5) Definir duas funções de perda
------------------------------------------------------------
mse_loss = nn.MSELoss().to(device)
l1_loss = nn.L1Loss().to(device)
------------------------------------------------------------
6) Calcular os erros
------------------------------------------------------------
mse_value = mse_loss(pred, y)
l1_value = l1_loss(pred, y)
------------------------------------------------------------
7) Exibir resultados
------------------------------------------------------------
print("===== COMPARAÇÃO DE LOSS =====")
print(f"MSE Loss: {mse_value.item():.4f}")
print(f"L1 Loss : {l1_value.item():.4f}")