【pytorch】Expected input batch_size (1) to match target batch_size (2). 報錯解決

參考網址:

https://discuss.pytorch.org/t/valueerror-expected-input-batch-size-324-to-match-target-batch-size-4/24498

 

原因

感覺是因爲,卷積之後獲得了特徵圖,但是因爲沒有計算出正確的特徵圖的尺寸大小,在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)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章