多類別分類模型
在已經有二元分類模型樣板的基礎上,現在把它延伸為多類別分類模型。這個模型應該能透過參數處理不同的類別數,讓你未來可以依據特定的多類別分類任務來調整模型。
torch 與 torch.nn(簡寫為 nn)已匯入。所有影像大小皆為 64x64 像素。
本練習屬於課程
使用 PyTorch 進行影像深度學習
練習說明
- 定義
__init__方法,參數包含self與num_classes。 - 建立一個全連接層(fully connected layer),輸入大小為
16*32*32,輸出為類別數num_classes。 - 建立啟用函式
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 = ____(____)