मॉडल का मूल्यांकन
ट्रेनिंग लूप ठीक तरह सेट होने के बाद, आपने मॉडल को 1000 epochs तक ट्रेन किया है, और वह net नाम से उपलब्ध है. आपने test_dataloader भी उसी तरह सेट किया है जैसे पहले train_dataloader किया था—बस डेटा train डायरेक्टरी की जगह test डायरेक्टरी से पढ़ रहा है.
अब आप मॉडल का मूल्यांकन test डेटा पर कर सकते हैं. ऐसा करने के लिए, आपको एक evaluation लूप लिखना होगा जो test डेटा के बैचेज़ पर इटररेट करे, हर बैच के लिए मॉडल की predictions निकाले, और उसका accuracy स्कोर कैलकुलेट करे. आइए, यह करते हैं!
यह अभ्यास पाठ्यक्रम का हिस्सा है
इंटरमीडिएट Deep Learning with PyTorch
अभ्यास निर्देश
- evaluation मेट्रिक को binary classification के लिए
Accuracyसेट करें और उसेaccमें असाइन करें. - test डेटा के हर बैच के लिए, मॉडल के आउटपुट लें और उन्हें
outputsमें असाइन करें. - लूप के बाद, कुल test accuracy compute करें और उसे
test_accuracyमें असाइन करें.
इंटरैक्टिव व्यावहारिक अभ्यास
इस अभ्यास को इस नमूना कोड को पूरा करके आज़माएँ।
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}")