0
respostas

[Projeto] Alteração do código do script Funções de Perda.ipynb

============================================================

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}")