pytorch報錯:ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1,512,1,1])


1.pytorch報錯:ValueError: Expected more than 1 value per channel when training, got input size torch.Size([1,512,1,1])

 

 2.網上查找的原因為模型中用了batchnomolization,訓練中用batch訓練的時候當前batch恰好只含一個sample,而由於BatchNorm操作需要多於一個數據計算平均值,因此造成該錯誤。

3.解決方法:在torch.utils.data.DataLoader類中或自己創建的繼承於DataLoader的類中設置參數drop_last=True,把不夠一個batch_size的數據丟棄。

成功解決。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM