在很多情况下我们都能看到代码里有这样一行:

torch.backends.cudnn.benchmark = True

而且大家都说这样可以增加程序的运行效率。那到底有没有这样的效果,或者什么情况下应该这样做呢?

总的来说,大部分情况下,设置这个 flag 可以让内置的 cudnn 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题。

一般来讲,应该遵循以下准则:

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

不使用的话,也很简单:

torch.backends.cudnn.benchmark = False

参考:
https://www.pytorchtutorial.com/when-should-we-set-cudnn-benchmark-to-true/

cudnn.benchmark = True什么意思相关推荐

  1. [转载]什么情况下应该设置 cudnn.benchmark = True?

    总的来说,大部分情况下,设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题. 一般来讲,应该遵循以下准则: 如果网络的输 ...

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

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

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

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

  4. cudnn.benchmark = True?是什么意思

    问题 在很多情况下我们都能看到代码里有这样一行: 1 torch.backends.cudnn.benchmark = true 而且大家都说这样可以增加程序的运行效率.那到底有没有这样的效果,或者什 ...

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

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

  6. torch.backends.cudnn.benchmark=True 的效果和坑

    系统环境 CUDA 11.1 gtx1070-8g win10 21h1 19043.1266 打开该选项 torch.backends.cudnn.benchmark=True 加快运算速度,但相比 ...

  7. cudnn.benchmark

    Benchmark模式会提升计算速度,但是由于计算中有随机性,每次网络前馈结果略有差异. torch.backends.cudnn.benchmark = True 1 如果想要避免这种结果波动,设置 ...

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

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

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

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

最新文章

  1. OCIEnvCreate 失败,返回代码为 -1,但错误消息文本不可用
  2. 【运筹学】人工变量法总结 ( 人工变量法解的分析 | 标准型变换 | 构造单位阵 | 目标函数引入 M | 计算检验数 | 选择入基变量 | 选择出基变量 | 中心元变换 | ) ★★
  3. Python中生成一个指定长度的随机字符串实现示例
  4. 国家有线网挂牌时间再度推迟 预计为2012年底
  5. 及部署 项目案例_盘点丨2019十大边缘计算项目
  6. 翻车!微信翻译误翻闹笑话 腾讯官方回应:紧急修复中...
  7. android 中如何分析内存泄漏
  8. 基于visual Studio2013解决C语言竞赛题之1054抽牌游戏
  9. SAP 根据excel模板导入并批量生成销售订单
  10. 判断拐点的条件_拐点的判断
  11. docker run 命令的 -i -t -d选项的作用
  12. 【Python】P1008 [NOIP1998 普及组] 三连击
  13. 计算机管理磁盘管理无法删除卷,如何解决对磁盘重新分区磁盘卷无法删除的问题...
  14. 线形回归和梯度下降的Python实例。
  15. 【PHP】PHP MySQL问题 phpinfo() 没有显示MySQL模块
  16. 反垃圾邮件的一些相关链接
  17. Type-C扩展坞常用料号大全|音视频芯片|cc协议芯片|PD芯片|HUB芯片|网口芯片|音频芯片
  18. 学习笔记:《机器人SLAM导航核心技术与实战》序言
  19. CVPR2018——以属性为指导的无监督行人重识别
  20. 快速入门vb语言——第一天

热门文章

  1. 未来宝宝照片合成,怎么做到的呢?
  2. 清除 WindowsOffice KMS激活
  3. logback修改第三方包日志打印
  4. Unity 3d 子弹的瞄准、旋转与移动
  5. rabbitmq direct reply-to 在springAMQP和python之间的使用
  6. Unity3D离线版数字地球实现
  7. Apache Log4j Server 反序列化漏洞(CVE-2017-5645)
  8. Eureka健康检查
  9. J0ker的CISSP之路:What's CISSP
  10. Python-Flask开发微电影网站(八)