时间:2021-05-22
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设置作用就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在使用PyTorch做实验时经常会用到生成随机数Tensor的方法,比如:torch.rand()torch.randn()torch.normal()torc
pytorch报错:RuntimeError:ExpectedobjectoftypeVariable[torch.LongTensor]butfoundtyp
PyTorch是Torch7团队开发的,从它的名字就可以看出,其与Torch的不同之处在于PyTorch使用了Python作为开发语言。Pythonfirst是
numpy中的ndarray转化成pytorch中的tensor:torch.from_numpy()pytorch中的tensor转化成numpy中的ndar
pytorch中的权值初始化官方论坛对weight-initilzation的讨论torch.nn.Module.apply(fn)torch.nn.Modul