pytorch torch.backends.cudnn設置作用


cuDNN使用非確定性算法,並且可以使用torch.backends.cudnn.enabled = False來進行禁用

如果設置為torch.backends.cudnn.enabled =True,說明設置為使用使用非確定性算法

然后再設置:

torch.backends.cudnn.benchmark = true

那么cuDNN使用的非確定性算法就會自動尋找最適合當前配置的高效算法,來達到優化運行效率的問題

一般來講,應該遵循以下准則:

  1. 如果網絡的輸入數據維度或類型上變化不大,設置  torch.backends.cudnn.benchmark = true  可以增加運行效率;
  2. 如果網絡的輸入數據在每次 iteration 都變化的話,會導致 cnDNN 每次都會去尋找一遍最優配置,這樣反而會降低運行效率。

所以我們經常看見在代碼開始出兩者同時設置:

torch.backends.cudnn.enabled = True
torch.backends.cudnn.benchmark = True

 


免責聲明!

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



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