Benchmark模式会提升计算速度,但是由于计算中有随机性,每次网络前馈结果略有差异。

torch.backends.cudnn.benchmark = True
1
如果想要避免这种结果波动,设置:

torch.backends.cudnn.deterministic = True

版权声明:本文为CSDN博主「wang xiang」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/qq_40178291/article/details/101160834

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

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

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

适用场景是网络结构固定(不是动态变化的),网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的,其实也就是一般情况下都比较适用。反之,如果卷积层的设置一直变化,将会导致程序不停地做优化,反而会耗费更多的时间。

cudnn.benchmark相关推荐

  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. torch.backends.cudnn.benchmark 加速训练

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

  5. cudnn.benchmark = True什么意思

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

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

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

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

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

  8. python apache benchmark_Python cudnn.benchmark方法代码示例

    本文整理汇总了Python中torch.backends.cudnn.benchmark方法的典型用法代码示例.如果您正苦于以下问题:Python cudnn.benchmark方法的具体用法?Pyt ...

  9. torch.backends.cudnn.benchmark ?!

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

最新文章

  1. android 广告效果图,android 仿首页广告轮播效果
  2. BAT脚本如何自动执行 adb shell 以后的命令
  3. ios 持续获取定位 高德地图_概述-iOS 定位SDK | 高德地图API
  4. android:由URL载入中ImageView
  5. 新版Hadoop MapReduce-Yarn
  6. 3.3 参数估计:贝叶斯估计
  7. mysql看表关联视图_MySQL数据库 : 自关联,视图,事物,索引
  8. 前端学习(2763):基本的数据绑定
  9. hadoop单机配置(非分布式)
  10. mysql5权威指南_MySQL5权威指南(第3版)
  11. hadoop安装小记
  12. 用python画太阳花的代码_Python画太阳花
  13. autoit3 自动安装QQ音乐【版本QQMusicV7.96.2062.0525】
  14. 史诗级动态规划 教程 by hch
  15. java解析shp文件以及坐标转换(工具类)
  16. 如何用python计算年龄_用Python写一个能算出自己年龄的小程序
  17. python3-xlsx表格文件读取
  18. 【FPGA知识点】八段共阳极数码管编码表
  19. Vue中为对象添加字段
  20. C# Socket客户端采用双线程断网重连断线重连)

热门文章

  1. WSAGetLastError返回的可能错误代码
  2. 提权函数之RtlAdjustPrivilege()
  3. 文件系统与NoSQL分布式存储技术对比
  4. 内核同步对性能的影响及perf的安装和简单的使用
  5. vb6.0 mysql ado控件_VB6.0里的ADO控件怎么用?
  6. linux内核 fat,微软宣布exFAT文件系统规范,希望被Linux内核接纳
  7. leetcode怎么用时间刷_LeetCode刷题专栏第一篇--思维导图时间安排
  8. Linux 应用程序 嵌汇编,Linux下嵌入汇编代码调用API(using fork())
  9. 限制用户对页的访问php,如何限制对Django中管理页的访问?
  10. mega_[MEGA DEAL] Android课程的Java基础知识(61%折扣)