【Pytorch】torch.backends.cudnn.benchmark 作用
作用
針對(duì)你當(dāng)前的硬件,找到最合適的算法。(注意,很多代碼里會(huì)有import torch.backends.cudnn as cudann,所以其實(shí)torch.backends.cudnn.benchmark和cudnn.benchmark是一回事)
使用注意事項(xiàng)
It enables benchmark mode in cudnn.
benchmark mode is good whenever your input sizes for your network do not vary. This way, cudnn will look for the optimal set of algorithms for that particular configuration (which takes some time). This usually leads to faster runtime.
But if your input sizes changes at each iteration, then cudnn will benchmark every time a new size appears, possibly leading to worse runtime performances.
翻譯過來就是:當(dāng)你網(wǎng)絡(luò)的輸入大小不變時(shí),torch.backends.cudnn.benchmark = True可以讓你的網(wǎng)絡(luò)跑得更快。但是如果你網(wǎng)絡(luò)的輸入大小在變化,torch.backends.cudnn.benchmark = True反而會(huì)讓你的網(wǎng)絡(luò)跑得更慢,因?yàn)槊看胃淖冚斎氪笮《紩?huì)計(jì)算一次。
避免波動(dòng)影響速度
torch.backends.cudnn.deterministic = True
參考鏈接
https://discuss.pytorch.org/t/what-does-torch-backends-cudnn-benchmark-do/5936/2
總結(jié)
以上是生活随笔為你收集整理的【Pytorch】torch.backends.cudnn.benchmark 作用的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php日期转微秒,使用PHP生成独特的微
- 下一篇: Qt 摄像头