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

โมเดล Binary Classification

ในฐานะผู้ปฏิบัติงานด้าน deep learning งานหลักอย่างหนึ่งคือการฝึกโมเดลสำหรับการจำแนกภาพ หนึ่งในรูปแบบที่พบบ่อยคือ binary classification ซึ่งต้องแยกแยะภาพออกเป็น 2 คลาส เพื่อให้กระบวนการทำงานมีประสิทธิภาพและนำกลับมาใช้ซ้ำได้ คุณจึงตัดสินใจสร้างเทมเพลตสำหรับโมเดล CNN แบบ binary image classification เพื่อนำไปใช้กับโปรเจกต์ในอนาคต

ได้นำเข้าแพ็กเกจ torch และ torch.nn ในชื่อ nn เรียบร้อยแล้ว ภาพทุกภาพมีขนาด 64x64 พิกเซล

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

Deep Learning สำหรับภาพด้วย PyTorch

ดูคอร์ส

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

  • สร้าง convolutional layer โดยกำหนด input channel เป็น 3, output channel เป็น 16, kernel size เป็น 3, stride เป็น 1 และ padding เป็น 1
  • สร้าง fully connected layer โดยกำหนด input size เป็น 16x32x32 และจำนวนคลาสเป็น 1 โดยระบุค่าตามลำดับที่กำหนดไว้ (16*32*32, 1)
  • สร้างฟังก์ชัน activation แบบ sigmoid

แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ

ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์

class BinaryImageClassifier(nn.Module):
    def __init__(self):
        super(BinaryImageClassifier, self).__init__()
        
        # Create a convolutional layer
        self.conv1 = ____(____)
        self.relu = nn.ReLU()
        self.maxpool = nn.MaxPool2d(kernel_size=2, stride=2)
        self.flatten = nn.Flatten()
        
        # Create a fully connected layer
        self.fc = ____(____)
        
        # Create an activation function
        self.sigmoid = ____
แก้ไขและรันโค้ด