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

การสร้าง Sequential Block

คุณตัดสินใจปรับปรุงโมเดล CNN แบบ binary โดยสร้างบล็อกของ convolutional layers ซึ่งจะช่วยให้สามารถซ้อนหลายเลเยอร์ตามลำดับได้ และทำให้การออกแบบสถาปัตยกรรม CNN รูปแบบต่าง ๆ เป็นเรื่องง่ายขึ้น

ได้นำเข้า torch และ torch.nn ในชื่อ nn ไว้แล้ว

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

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

ดูคอร์ส

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

  • ในเมธอด __init__() ให้กำหนดบล็อกของ convolutional layers และกำหนดให้กับ self.conv_block
  • ในขั้นตอน forward() ให้ส่งข้อมูล input ผ่านบล็อก convolutional ที่กำหนดไว้

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

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

class BinaryImageClassification(nn.Module):
  def __init__(self):
    super(BinaryImageClassification, self).__init__()
    # Create a convolutional block
    self.conv_block = ____(
      nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1),
      nn.ReLU(),
      nn.Conv2d(16, 32, kernel_size=3, stride=1, padding=1),
      nn.ReLU(),
    )
    
  def forward(self, x):
    # Pass inputs through the convolutional block
    x = ____
    return x
แก้ไขและรันโค้ด