การสร้าง 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