cudnn.benchmark = True


在很多情況下我們能看到代碼有這樣一行:

1 torch.backends.cudnn.benchmark = true

而且大家都說這樣可以增加程序的運行效果,那到底有沒有這樣的效果,或者什么情況下應該這樣做呢?

解決辦法:

總的來說,大部分情況下,設置這個flag可以讓內置的cuDNN的auto-tunner自動尋找最適合當前配置的高效算法,來達到優化運行效率的問題。

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

1. 如果網絡輸入的數據維度或類型變化不大,設置torch.backbends.cudnn.benchmark = True 可以增加運行效率。

2. 如果網絡輸入的數據在每次iteration都變化的話,會導致cnDNN每次都尋找一遍最優配置,這樣反而會降低運行效率。

這樣一說,迷惑就解答了。


免責聲明!

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



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