cudnn.benchmark = True

代码:

cudnn.benchmark = True

代码释意:通过如上设置让内置的cuDNNauto-tuner自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。
遵循准则:

  • 网络的输入数据维度或类型上变化不大,设置为true可以增加运行效率;
  • 如果网络的输入数据在每个iteration都变化的话,会导致cnDNN每次都会去寻找一遍最优配置,这样反而会降低运行效率;

Note:

  • cuDNN是英伟达专门为深度神经网络所开发出来的GPU加速库,针对卷积、池化等等常见操作做了非常多的底层优化,比一般的GPU程序要快很多。在使用cuDNN的时候,默认为False
  • 设置为True将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。适用场景是网络结构固定,网络输入形状不变(即一般情况下都适用)。反之,如果卷积层的设置一直变化,将会导致程序不停地做优化,反而会耗费更多的时间。

转载自:torch.backends.cudnn.benchmark = true的作用

上一篇:mysql – Solr Facet使用逗号分隔值的多个单词


下一篇:使用Solr Data Import Handler从mySQL导入多值字段到Solr