淺談pytorch torch.backends.cudnn設定作用
阿新 • • 發佈:2020-02-21
cuDNN使用非確定性演算法,並且可以使用torch.backends.cudnn.enabled = False來進行禁用
如果設定為torch.backends.cudnn.enabled =True,說明設定為使用使用非確定性演算法
然後再設定:
torch.backends.cudnn.benchmark = true
那麼cuDNN使用的非確定性演算法就會自動尋找最適合當前配置的高效演算法,來達到優化執行效率的問題
一般來講,應該遵循以下準則:
如果網路的輸入資料維度或型別上變化不大,設定 torch.backends.cudnn.benchmark = true 可以增加執行效率;
如果網路的輸入資料在每次 iteration 都變化的話,會導致 cnDNN 每次都會去尋找一遍最優配置,這樣反而會降低執行效率。
所以我們經常看見在程式碼開始出兩者同時設定:
torch.backends.cudnn.enabled = True
torch.backends.cudnn.benchmark = True
以上這篇淺談pytorch torch.backends.cudnn設定作用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。