โมเดลสองอินพุต
เมื่อเตรียมข้อมูลพร้อมแล้ว ก็ถึงเวลาสร้างสถาปัตยกรรมโมเดลสองอินพุต โดยจะกำหนด class ของโมเดลที่มีเมธอดดังนี้
.__init__()ใช้สำหรับกำหนด sub-network ต่าง ๆ โดยจัดกลุ่มเลเยอร์เข้าด้วยกัน ซึ่งเป็นส่วนที่กำหนดเลเยอร์สำหรับประมวลผลอินพุตทั้งสอง และตัว classifier ที่คืนค่าคะแนนการจำแนกประเภทสำหรับแต่ละคลาสforward()ใช้สำหรับส่งอินพุตทั้งสองผ่าน sub-network ที่กำหนดไว้ล่วงหน้า จากนั้น concatenate ผลลัพธ์ที่ได้ แล้วส่งต่อไปยัง classifier
torch.nn ถูก import ให้แล้วในชื่อ nn ลองทำกันเลย!
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning ระดับกลางด้วย PyTorch
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class Net(nn.Module):
def __init__(self):
super().__init__()
# Define sub-networks as sequential models
____ = ____(
nn.Conv2d(1, 16, kernel_size=3, padding=1),
nn.MaxPool2d(kernel_size=2),
nn.ELU(),
nn.Flatten(),
nn.Linear(16*32*32, 128)
)
____ = ____(
nn.Linear(30, 8),
nn.ELU(),
)
____ = ____(
nn.Linear(128 + 8, 964),
)