nan踩坑記


1、檢查數據
如果輸入的是圖片數據,先檢查是否有 打不開的圖片/大小明顯異常的圖片;
檢查輸入模型的數據是否與所使用的loss函數提供接口中的要求相一致。

2、檢查所有除式中的分母
特別是在自己實現的歸一化函數中,尤其需要注意。

3、檢查是否有進行log_softmax。

4、檢查是否有使用正確的激活函數。

5、如果在PyTorch中使用CTC損失函數,可以嘗試將log_softmax的輸出轉換為torch.float64類型。可參見
https://discuss.pytorch.org/t/ctcloss-performance-of-pytorch-1-0-0/27524/59

6、在PyTorch中可以使用如下代碼來檢查是否出現nan,並定位可能出現錯誤的輸入的位置
with torch.autograd.detect_anomaly():
loss.backward()


免責聲明!

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



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