Evaluasi model
Dengan loop pelatihan yang sudah beres, Anda telah melatih model selama 1000 epoch, dan model tersebut tersedia sebagai net. Anda juga telah menyiapkan test_dataloader persis seperti Anda menyiapkan train_dataloader sebelumnya—hanya saja membaca data dari direktori uji, bukan direktori latih.
Sekarang Anda dapat mengevaluasi model pada data uji. Untuk melakukannya, Anda perlu menulis loop evaluasi untuk mengiterasi batch data uji, mendapatkan prediksi model untuk setiap batch, dan menghitung skor akurasinya. Mari kita lakukan!
Latihan ini adalah bagian dari kursus
Deep Learning Lanjutan dengan PyTorch
Petunjuk latihan
- Siapkan metrik evaluasi sebagai
Accuracyuntuk klasifikasi biner dan berikan keacc. - Untuk setiap batch data uji, dapatkan keluaran model dan berikan ke
outputs. - Setelah loop selesai, hitung akurasi uji total dan berikan ke
test_accuracy.
Latihan interaktif praktis
Cobalah latihan ini dengan menyelesaikan kode contoh berikut.
import torch
from torchmetrics import Accuracy
# Set up binary accuracy metric
acc = ____
net.eval()
with torch.no_grad():
for features, labels in dataloader_test:
# Get predicted probabilities for test data batch
outputs = ____
preds = (outputs >= 0.5).float()
acc(preds, labels.view(-1, 1))
# Compute total test accuracy
test_accuracy = ____
print(f"Test accuracy: {test_accuracy}")