torch.backends.cudnn.enabled = True
cuDNN的非确定性算法(NP),等于True时启用,cuDNN设置为使用非确定性算法
torch.backends.cudnn.benchmark = True
再将benchmark设置为true,cuDNN将会自动寻找最适合当前配置的高效算法,达到优化运行效率的目的
是否使用上述机制遵循以下准则:
如果网络的输入数据在维度和类型上变化不大,这样设置可以增加运行效率
但如果网络的输入数据在每次iteration都变化的话,就会导致cuDNN每次都去寻找一遍最优配置,反而降低运行效率