首先,要明白backends是什么,Pytorch的backends是其调用的底层库。torch的backends都有:

cuda
cudnn
mkl
mkldnn
openmp

代码torch.backends.cudnn.benchmark主要针对Pytorch的cudnn底层库进行设置,输入为布尔值True或者False:

  1. 设置为True,会使得cuDNN来衡量自己库里面的多个卷积算法的速度,然后选择其中最快的那个卷积算法。
    我们看官方文档描述:

    所以,当这个参数设置为True时,启动算法的前期会比较慢,但算法跑起来以后会非常快。
    根据官网论坛上一位海外网友的说法:如果输入大小是固定的,采用cudnn.benchmark是可以加速推理和训练的。除了启动时会花额外的时间配置。但对于输入大小会变动的,每变一次就会配置一次,反而会影响速度。
    英文原回答如下:

It enables benchmark mode in cudnn.
benchmark mode is good whenever your input sizes for your network do not vary. This way, cudnn will look for the optimal set of algorithms for that particular configuration (which takes some time). This usually leads to faster runtime.
But if your input sizes changes at each iteration, then cudnn will benchmark every time a new size appears, possibly leading to worse runtime performances.

  1. 设置为False
    则会关闭这一功能。

参考链接1:https://pytorch.org/docs/stable/backends.html
参考链接2:https://discuss.pytorch.org/t/what-does-torch-backends-cudnn-benchmark-do/5936

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.benchmark有什么用? 针对网络模型固定.输入参数固定的场景,将上述变量设置为True可以增加训练效率. cuDNN是英伟达为深度神经网络(DNN)设计 ...

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

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

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

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

  10. torch.backends.cudnn.benchmark和cudnn.deterministic

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

最新文章

  1. HTML基础部分(2)表格
  2. 8086汇编语言指令总结
  3. SSH框架--Struts的故事
  4. CentOS 7.4 基于LNMP搭建wordpress
  5. WinSock的recv返回值处理
  6. 迁移学习 简而言之_简而言之SPIFFE
  7. 浅析如何通过PHP类的反射来实现依赖注入
  8. 在iPhone程序上读取PDF文件
  9. RabbitMQ入门:路由(Routing)
  10. 数据科学 IPython 笔记本 9.4 NumPy 数组的基础
  11. 你还在用虚拟机,win10自带的linux还有图形界面(小白教程)
  12. 无限级导航PHP,jQuery多级无限级导航下拉菜单代码
  13. 女方父母总是插手家里的事怎么办?
  14. linux pv命令,pv命令 – 管道查看器
  15. 2021-08-04 WHERE条件查询
  16. python 【递归 及 二分法】
  17. 全军出击 iOS和Android,绝地求生全军出击安卓和ios能一起玩吗_绝地求生全军出击安卓ios数据互通吗_玩游戏网...
  18. python opencv 身份证照片识别,包含正面、反面(附完整代码,可直接使用)
  19. HDU 3709 平衡数 数位dp(Java版)
  20. java endian_java – 将小Endian文件转换成大Endian

热门文章

  1. 联想win10专业版64位简体中文原版光盘镜像
  2. 使用VProtect给自己开发的软件加密
  3. A Little Is Enough: Circumventing Defenses For Distributed Learning(绕过对分布式学习的防御)
  4. 硬盘结构及raid磁盘阵列
  5. RAID5阵列硬盘离线怎么恢复
  6. Linux Test Project(LTP项目)
  7. 苹果新一代iPad发布,库克表示后PC时代已经来临
  8. 基于R语言对哺乳动物睡眠时间sleep数据集的分析
  9. socket 读、写字节流数据
  10. 目前主要的计算机汉字输入方法是什么,[计算机汉字输入方法.ppt