torch.backends.cudnn系列用法

前置知识

CUDA

CUDA是NVIDIA推出的用于自家GPU的并行计算框架,也就是说CUDA只能在NVIDIA的GPU上运行,而且只有当要解决的计算问题是可以大量并行计算的时候才能发挥CUDA的作用。

cuDNN

cuDNN(CUDA Deep Neural Network library):是NVIDIA打造的针对深度神经网络的加速库,是一个用于深层神经网络的GPU加速库。如果你要用GPU训练模型,cuDNN不是必须的,但是一般会采用这个加速库。

代码一:

torch.backends.cudnn.benchmark = True

作用:
设置 torch.backends.cudnn.benchmark=True 将会让程序在开始时花费一点额外时间,为整个网络的每个卷积层搜索最适合它的卷积实现算法,进而实现网络的加速。
设置这个 flag 可以让内置的 cuDNN 的 auto-tuner 自动寻找最适合当前配置的高效算法,来达到优化运行效率的问题

注意事项1:
适用场景是网络结构固定(不是动态变化的),网络的输入形状(包括 batch size,图片大小,输入的通道)是不变的,其实也就是一般情况下都比较适用。反之,如果卷积层的设置一直变化,网络的输入数据在每次 iteration 都变化的话,会导致 cnDNN 每次都会去寻找一遍最优配置,这样反而会降低运行效率。

注意事项2:
Benchmark模式会提升计算速度,但是由于计算中有随机性,每次网络前馈结果略有差异。如果想要避免这种结果波动,设置:

torch.backends.cudnn.deterministic = True

 上述代码使得实验结果可以重现。

作为 CuDNN 的背景,重要的是要认识到,对于许多操作,CuDNN 有几种实现,我们称它们为不同的算法。

现在 cudnn.deterministic 将只允许那些(被认为是)确定性的 CuDNN 算法。不过,对于接下来的事情至关重要,可能还剩下几个。这意味着,如果您在同一系统上使用相同的输入运行相同的 CuDNN 操作(相同的机器具有相同的 CPU、GPU 和 PyTorch、CUDA、CuDNN 版本不变),如果 CuDNN 选择他们可用的集合中的相同算法。
现在,通常 CuDNN 具有关于选择哪种算法的启发式方法,这大致取决于输入形状、步幅(也称为内存布局)和 dtype。这些启发式方法涵盖了广泛的案例,但是,由于它们是启发式方法,它们有时可能会选择效率较低的算法。为了改进启发式算法的使用,如果您设置 cudnn.benchmark,CuDNN 库将对几种算法进行基准测试,并选择它认为最快的算法。有一些关于何时以及如何完成的规则​​(您必须查看他们的文档以获取详细信息,经验法则:如果您有固定的输入大小,则很有用)。这可能意味着即使设置了确定性标志,基准测试也可能会选择不同的算法(由于主机箱上运行的其他东西等)。因此,在打开 cudnn.deterministic 时关闭 cudnn.benchmark 似乎是一种很好的做法。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
“failed to start adb. check settings to verify your chosen adb path is valid.” 这个错误是指无法启动ADB(Android Debug Bridge)工具。ADB是一种用于与安卓设备进行通信的工具,常用于调试和开发移动应用程序。 当出现这个错误时,原因可能是你在设置中选择的ADB路径无效。为了解决这个问题,你可以按照以下步骤进行操作: 1. 首先,打开ADB的设置界面。你可以在电脑上的ADB文件夹中找到“adb.exe”文件,双击运行它。 2. 在ADB设置界面中,检查ADB路径的有效性。确保路径指向正确的ADB工具文件。 3. 如果检查后发现路径错误,你需要重新选择有效的路径。可以通过浏览文件系统来找到ADB工具文件,并选择它。 4. 更改路径后,点击保存或应用按钮,以确保更改生效。 如果你不确定正确的ADB路径在哪里,你可以进行以下操作来查找: 1. 打开Android SDK的安装目录。通常它位于C:\Users\你的用户名\AppData\Local\Android\sdk目录下。 2. 在SDK目录中找到“platform-tools”文件夹,然后进入该文件夹。 3. 在“platform-tools”文件夹中,你应该能够找到“adb.exe”文件。这就是ADB工具的路径。 如果你仍然无法解决问题,你可以尝试重新安装ADB工具或更新Android SDK,以确保使用的是最新版本的ADB工具。同时,还可以尝试将ADB工具文件夹的路径添加到系统的环境变量中,以确保系统能够正确找到ADB工具。 总之,当出现“failed to start adb. check settings to verify your chosen adb path is valid.”的错误时,通常是由于选择的ADB路径无效造成的。通过检查和更改ADB路径,你应该能够解决这个问题,并成功启动ADB工具。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值