參考網址:
原因
感覺是因爲,卷積之後獲得了特徵圖,但是因爲沒有計算出正確的特徵圖的尺寸大小,在x.view()的時候,輸入錯了尺寸,比如比原來大了一倍,所有的數據本來應該是2個batch, 結果變成了一個batch.
解決
在view這個函數之前打印一下當前特徵圖的大小。例如打印出來的大小是torch.Size([4, 64, 9, 9]),那麼其實你的特徵圖大小是64*9*9,這就意味着在全連接層nn.Linear(64*9*9 , outnum).
x = self.pool(F.relu(...
print(x.shape)
x = x.view(x.size(0), -1)