1. 程式人生 > 程式設計 >淺談pytorch torch.backends.cudnn設定作用

淺談pytorch torch.backends.cudnn設定作用

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設定作用就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支援我們。