雙輸入模型
資料已經就緒,現在要來建立雙輸入的模型架構!你將建立一個模型類別,並包含以下方法:
.__init__():在這裡用群組化的方式定義各個子網路。你會定義兩個用於處理兩個輸入的層,還有一個分類器(classifier),用來為每個類別輸出分類分數。forward():在這裡把兩個輸入分別送進對應的子網路,將它們的輸出串接(concatenate)起來,再送入分類器。
torch.nn 已經以 nn 匯入好了。開始吧!
本練習屬於課程
Intermediate Deep Learning with 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),
)