Mengevaluasi kinerja model

Pengantar Deep Learning dengan PyTorch

Jasmin Ludolf

Senior Data Science Content Developer, DataCamp

Training, validation, dan testing

$$

  • Dataset biasanya dibagi menjadi tiga subset:
Persentase data Peran
Training 80-90% Menyesuaikan parameter model
Validation 10-20% Menyetel hiperparameter
Test 5-10% Mengevaluasi kinerja akhir model

$$

  • Lacak loss dan akurasi saat training dan validation
Pengantar Deep Learning dengan PyTorch

Menghitung training loss

$$

Untuk tiap epoch:

  • Jumlahkan loss di semua batch dalam dataloader
  • Hitung rata-rata training loss di akhir epoch
training_loss = 0.0

for inputs, labels in trainloader: # Jalankan forward pass outputs = model(inputs) # Hitung loss loss = criterion(outputs, labels)
# Backpropagation loss.backward() # Hitung gradien optimizer.step() # Perbarui bobot optimizer.zero_grad() # Reset gradien
# Hitung dan jumlahkan loss training_loss += loss.item()
epoch_loss = training_loss / len(trainloader)
Pengantar Deep Learning dengan PyTorch

Menghitung validation loss

validation_loss = 0.0
model.eval() # Pindah ke mode evaluasi


with torch.no_grad(): # Nonaktifkan gradien agar efisien
for inputs, labels in validationloader: # Jalankan forward pass outputs = model(inputs) # Hitung loss loss = criterion(outputs, labels) validation_loss += loss.item() epoch_loss = validation_loss / len(validationloader) # Hitung rata-rata loss
model.train() # Kembali ke mode training
Pengantar Deep Learning dengan PyTorch

Overfitting

contoh overfitting

Pengantar Deep Learning dengan PyTorch

Menghitung akurasi dengan torchmetrics

import torchmetrics


# Buat metrik akurasi metric = torchmetrics.Accuracy(task="multiclass", num_classes=3)
for features, labels in dataloader: outputs = model(features) # Forward pass # Hitung akurasi batch (gunakan argmax untuk label one-hot) metric.update(outputs, labels.argmax(dim=-1))
# Hitung akurasi untuk seluruh epoch accuracy = metric.compute()
# Reset metrik untuk epoch berikutnya metric.reset()
Pengantar Deep Learning dengan PyTorch

Ayo berlatih!

Pengantar Deep Learning dengan PyTorch

Preparing Video For Download...