เริ่มต้นใช้งานเริ่มต้นใช้งานได้ฟรี

การประเมินโมเดล

หลังจากจัดการ training loop เรียบร้อยแล้ว โมเดลได้ถูกฝึกไปแล้ว 1,000 epochs และพร้อมใช้งานในชื่อ net นอกจากนี้ยังได้ตั้งค่า test_dataloader ไว้แล้วในลักษณะเดียวกับ train_dataloader ก่อนหน้า—เพียงแต่อ่านข้อมูลจากไดเรกทอรีทดสอบแทนไดเรกทอรีฝึก

ตอนนี้พร้อมแล้วที่จะประเมินโมเดลบนข้อมูลทดสอบ โดยต้องเขียน evaluation loop เพื่อวนซ้ำผ่านแต่ละ batch ของข้อมูลทดสอบ รับค่าการพยากรณ์จากโมเดลสำหรับแต่ละ batch และคำนวณ accuracy score มาเริ่มกันเลย!

แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร

Deep Learning ระดับกลางด้วย PyTorch

ดูคอร์ส

คำแนะนำการฝึกหัด

  • ตั้งค่า evaluation metric เป็น Accuracy สำหรับการจำแนกประเภทแบบ binary และกำหนดให้กับตัวแปร acc
  • สำหรับแต่ละ batch ของข้อมูลทดสอบ ให้รับ output ของโมเดลและกำหนดให้กับตัวแปร outputs
  • หลังจากสิ้นสุด loop ให้คำนวณ accuracy รวมบนข้อมูลทดสอบและกำหนดให้กับตัวแปร 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}")
แก้ไขและรันโค้ด