torch.backends.cudnn.benchmark有什么用?

针对网络模型固定输入参数固定的场景,将上述变量设置为True可以增加训练效率。

cuDNN是英伟达为深度神经网络(DNN)设计的GPU加速库,针对卷积等操作进行了很多优化,Pytorch等深度学习框架会使用cuDNN加速。

卷积有多种实现方式,每种卷积算法都有特定的优势。一种简单的优化方式是针对神经网络中不同的层使用不同的卷积实现方式。决定了每层最快的实现方式后,在运行整个网络就会提升算法效率。

将上面的值设置为True,Pytorch就会针对模型的卷积层进行预先的优化,即针对每一层卷积都寻找最快的实现算法,进而提升整体效率。如此,便可在模型启动的时候额外增加一点预处理时间,而大幅度减少整体训练时间。

影响卷积运算速度的因素有

  1. 卷积层本身的参数,如卷积核尺寸,步长,填充,输出通道个数。
  2. 输入的参数,如输入的通道数,宽,高等

因此如果上面影响卷积速度的参数频繁的变化,则将torch.backends.cudnn.benchmark设置为True就不是明智的选择。因为在每次变化之后,算法都会重新预处理,预处理如果做太多次,也是很浪费时间的。
大部分的卷积神经网络的模型卷积层参数和输入参数都是固定的,因此可以利用上述方式提高效率。

代码加在哪里?

torch.backends.cudnn.benchmark=True
这行代码加在开头就好

参考

https://zhuanlan.zhihu.com/p/161534171

torch.backends.cudnn.benchmark有什么用?相关推荐

  1. pytorch之torch.backends.cudnn.benchmark=True——使用 GPU 来加速网络的训练

    文章目录 简介 适用场景 简介 import torch torch.backends.cudnn.enabled = True torch.backend.cudnn.benchmark=True ...

  2. pytorch——torch.backends.cudnn.benchmark = True

    问题: torch.backends.cudnn.benchmark = True 在利用pytorch进行网络训练时总会见到这行代码,这句有什么用呢?查了一些资料才知道是个非必须项,那加了有什么用呢 ...

  3. torch.backends.cudnn.benchmark 加速训练

    设置 torch.backends.cudnn.benchmark=True 将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速.适用场景是网络结 ...

  4. 【Pytorch】torch.backends.cudnn.benchmark 作用

    作用 针对你当前的硬件,找到最合适的算法.(注意,很多代码里会有import torch.backends.cudnn as cudann,所以其实torch.backends.cudnn.bench ...

  5. torch.backends.cudnn.benchmark ?!

    大家在训练深度学习模型的时候,经常会使用 GPU 来加速网络的训练.但是说起 torch.backends.cudnn.benchmark 这个 GPU 相关的 flag,可能有人会感到比较陌生.在一 ...

  6. torch.backends.cudnn.benchmark

    参考   torch.backends.cudnn.benchmark ?! - 云+社区 - 腾讯云 大家在训练深度学习模型的时候,经常会使用 GPU 来加速网络的训练.但是说起 torch.bac ...

  7. torch.backends.cudnn.benchmark和torch.backends.cudnn.deterministic解读

    torch.backends.cudnn.benchmark 简介:总的来说,大部分情况下,设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来 ...

  8. torch.backends.cudnn.benchmark = true的作用

    在很多情况下我们都能看到代码里有这样一行: torch.backends.cudnn.benchmark = true 大部分情况下,设置这个 flag 可以让内置的 cuDNN 的 auto-tun ...

  9. torch.backends.cudnn.benchmark和cudnn.deterministic

    当使用新的尺度参数的时候,cuDNN 自动从几种算法里面寻找最适合当前配置的高效算法,之后所有相同参数的数据都采用这个算法.但是由于噪声等造成即使在同一个机器也可能会选择不同的算法. 因此方便复现.提 ...

最新文章

  1. va_start() va_end()函数应用
  2. 解决虚拟机VM 与 Device/Credential Guard 不兼容。在禁用 Device/Credential Guard 后,可以运行 VM 的方法
  3. 【Fragment】管理机制
  4. 一问就想不起来的问题,来看看?
  5. 设计模式学习笔记——观察者(Observer)模式
  6. 计算机调试员高级理论知识试卷,电子计算机设备调试员(高级)考核复习题—理论试题.doc...
  7. win7局域网里输入正确密码也访问不了其他的机器
  8. 函数调用图工具: Understand(支持Ada, C, C++, C#, Java, FORTRAN, Delphi, Jovial, and PL/M)
  9. 使用OD修改程序窗口标题和提示信息
  10. Oracle不常用函数
  11. unix/Linux常用命令英文全称与中文解释 man ,su,ps,ls 等等
  12. 连接不上sqlserver数据库解决办法
  13. 数据分析/大数据研发面经笔经(阿里/腾讯/网易/招行信用卡中心/小红书/vivo等)
  14. webpack-dev-server的代理(proxy)
  15. 手机dpi修改工具_手机dpi修改器app下载-手机dpi修改工具官方版 v1.0_5577安卓网
  16. 抖音快手短视频批量去水印采集软件v1.8使用文档
  17. 基于MCR的MATLAB使用案例
  18. 测试工程师苦逼时刻,Android 谈谈自动化测试
  19. 英语被动句中动词后可以接形容词吗
  20. asp.net网页版斗地主(当前版本1.0 未完待续 最后更新时间2010-06-21)

热门文章

  1. vue实战--vue+elementUI实现多文件上传+预览(word/PDF/图片/docx/doc/xlxs/txt)
  2. Pascal VOC 数据集介绍(tensorflow model zoo)
  3. 内核调试:一次多线程调试与KASAN检测实例
  4. 20. 计算器PLUS
  5. crontab命令详细介绍教程,快来围观
  6. 计算机主机系统管理员口令,系统管理员密码设置方法
  7. 【推荐】华为顶级认证HCIE-RS培训教材全套合集
  8. 【附源码】计算机毕业设计SSM物流配送中心管理系统
  9. 计算机病毒论文结束语,计算机病毒论文结束语
  10. 矩阵可相似对角化的条件