解决Pytorch的cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

目录

  • [1. 问题报错](#1. 问题报错)
  • [2. 可能原因](#2. 可能原因)
    • [2.1 GPU内存不足](#2.1 GPU内存不足)
    • [2.2 缓存问题](#2.2 缓存问题)
    • [2.3 CUDA和Pytorch版本不兼容](#2.3 CUDA和Pytorch版本不兼容)
    • [2.4 CUDA和cuDNN版本不兼容](#2.4 CUDA和cuDNN版本不兼容)
  • [3. 验证CUDA是否可用](#3. 验证CUDA是否可用)
  • [4. 参考](#4. 参考)

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代码中使用以下代码来清除缓存:

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是否可用命令如下:

python 复制代码
import torch
print(torch.cuda.is_available())

返回True即可用。

4. 参考


创作不易,麻烦点点赞和关注咯!

相关推荐
浩风祭月1 小时前
ChatGPT o3将在8月26日退出:Plus、Pro用户现在该迁移什么
人工智能·chatgpt·openai o3·模型迁移
布列瑟农的星空1 小时前
Milvus内部机制浅入浅出
人工智能·agent
大数据魔法师1 小时前
DuckDB高阶实战指南!多文件处理、窗口函数、性能调优、工程化落地
python·数据分析
东离与糖宝1 小时前
WorkBuddy记忆机制拆解:别再反复交代需求
人工智能
ZHOU_WUYI1 小时前
7. fastwam 模型 _predict_action_noise_with_cache部分
人工智能·pytorch·深度学习
Patrick在香港2 小时前
Python Docker镜像从1.2GB到89MB:多阶段构建的完整优化实录
java·python·docker·信息可视化·容器·数据分析·ai编程
测试者家园2 小时前
AI如何发现测试人员看不到的问题?
人工智能·职场和发展·agent·智能化测试·幻觉检测·行为漂移
上海安当技术2 小时前
敏感数据怎么防拖库?信封加密(DEK+KEK 二层密钥)架构设计与 Java 实战
java·开发语言·python
WoooChi2 小时前
DailyTech-20260807
人工智能·科技·业界资讯
新知图书2 小时前
12.1 技术文档与表达优化
人工智能·ai助手·千问