โมเดลสำหรับการจำแนกประเภทแบบหลายคลาส
เมื่อมีเทมเพลตสำหรับโมเดลจำแนกประเภทแบบสองคลาสแล้ว คราวนี้จะต่อยอดมันเพื่อสร้างโมเดลสำหรับการจำแนกประเภทแบบหลายคลาส โมเดลนี้รองรับจำนวนคลาสที่แตกต่างกันผ่านพารามิเตอร์ ทำให้ปรับใช้กับงานจำแนกหลายคลาสได้อย่างยืดหยุ่นในอนาคต
มีการ import แพ็กเกจ torch และ torch.nn ในชื่อ nn ไว้แล้ว โดยภาพทุกรูปมีขนาด 64x64 พิกเซล
แบบฝึกหัดนี้เป็นส่วนหนึ่งของหลักสูตร
Deep Learning สำหรับภาพด้วย PyTorch
คำแนะนำการฝึกหัด
- กำหนดเมธอด
__init__โดยระบุselfและnum_classesเป็นพารามิเตอร์ - สร้าง fully connected layer ที่รับ input ขนาด
16*32*32และใช้num_classesเป็น output - สร้างฟังก์ชัน activation แบบ
softmaxโดยกำหนดdim=1
แบบฝึกหัดเชิงโต้ตอบแบบลงมือทำ
ลองทำแบบฝึกหัดนี้โดยเติมโค้ดตัวอย่างนี้ให้สมบูรณ์
class MultiClassImageClassifier(nn.Module):
# Define the init method
def ____(____, ____):
super(MultiClassImageClassifier, self).__init__()
self.conv1 = nn.Conv2d(3, 16, kernel_size=3, stride=1, padding=1)
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.softmax = ____(____)