解决Pytorch的cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

29 篇文章 0 订阅
1 篇文章 0 订阅


1. 问题报错

在使用GPU加速模型训练的过程中经常会遇到这样的错误:

RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

这个错误通常表示cuDNN库未能正确初始化。

2. 可能原因

2.1 GPU内存不足

在终端输入nvidia-smi查看GPU占用情况,如下图中的GPU 0几乎跑满,如果再使用该GPU运行其他占用内存较大的程序可能会报错。

>>> nvidia-smi

在这里插入图片描述

2.2 缓存问题

有时,cuDNN错误可能是由于缓存问题引起的。尝试清除缓存,然后重新运行代码。可以在Python代码中使用以下代码来清除缓存:

import torch
torch.cuda.empty_cache()

2.3 CUDA和Pytorch版本不兼容

不同版本的深度学习框架对CUDA和Pytorch的要求可能有所不同。在使用特定版本的框架时,查阅其文档或要求,了解所需的CUDA和Pytorch版本,并确保安装了正确的版本。

前往Pytorch官网查看版本对应关系:https://pytorch.org/get-started/previous-versions/,如果版本不匹配则需要重新安装Pytorch或者更新CUDA版本。注意同一Pytorch版本适配多个CUDA版本,具体还需要考虑cuDNN的版本,详情见下一节。

在这里插入图片描述

显卡的CUDA版本同样可以通过nvidia-smi进行查看:

在这里插入图片描述

2.4 CUDA和cuDNN版本不兼容

确保你使用的CUDA版本与cuDNN版本兼容,验证CUDA和cuDNN是否正确安装并配置。

cuDNN官网下载地址提供了二者版本对应关系:https://developer.nvidia.com/rdp/cudnn-archive

如果需要重新下载CUDA,可以前往官网下载:https://developer.nvidia.com/cuda-toolkit-archive

在这里插入图片描述

这篇博客记录了部分CUDA Toolkit 和cuDNN的版本对应关系:https://blog.csdn.net/tangjiahao10/article/details/125225786

3. 验证CUDA是否可用

查看CUDA是否可用命令如下:

import torch
print(torch.cuda.is_available())

返回True即可用。

4. 参考


创作不易,麻烦点点赞和关注咯!
  • 34
    点赞
  • 21
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
cuDNN error: CUDNN_STATUS_NOT_INITIALIZED错误通常是由于多种原因引起的。根据引用\[1\]中的描述,这个错误可能与PyTorch的版本与cuda版本不匹配无关。引用\[2\]中提到,这个错误可能是由于输入的label值超出了值域所导致的。在这种情况下,网络要求的label应该在0到8之间,但是输入的label值域不正确,因此导致了错误。另外,引用\[3\]中指出,这个错误也可能是由于模型输出有问题,例如关系类别数量定义错误导致的。因此,要解决cuDNN error: CUDNN_STATUS_NOT_INITIALIZED错误,你可以尝试以下几个步骤: 1. 确保PyTorchcuda的版本匹配。 2. 检查输入的label值是否在正确的值域内。 3. 检查模型的输出是否正确,例如关系类别数量是否定义正确。 通过逐步排查这些可能的原因,你应该能够解决cuDNN error: CUDNN_STATUS_NOT_INITIALIZED错误。 #### 引用[.reference_title] - *1* *3* [RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED](https://blog.csdn.net/liaoningxinmin/article/details/119139840)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED解决方法】](https://blog.csdn.net/weixin_47675950/article/details/120437087)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值