解决Pytorch的cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

news/2024/9/18 12:38:14/ 标签: pytorch, 人工智能, python, GPU, CUDA, cuDNN

目录

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


1. 问题报错

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

RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

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

2. 可能原因

GPU_12">2.1 GPU内存不足

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

>>> nvidia-smi

在这里插入图片描述

2.2 缓存问题

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

python">import torch
torch.cuda.empty_cache()

CUDAPytorch_27">2.3 CUDA和Pytorch版本不兼容

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

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

在这里插入图片描述

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

在这里插入图片描述

CUDAcuDNN_39">2.4 CUDAcuDNN版本不兼容

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

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

CUDA_53">3. 验证CUDA是否可用

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

python">import torch
print(torch.cuda.is_available())

返回True即可用。

4. 参考

  • https://blog.csdn.net/weixin_43935696/article/details/114950143
  • https://blog.csdn.net/tangjiahao10/article/details/125225786
  • ChatGPT 3.5

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

http://www.ppmy.cn/news/1453100.html

相关文章

【深耕 Python】Data Science with Python 数据科学(18)Scikit-learn机器学习(三)

写在前面 关于数据科学环境的建立,可以参考我的博客: 【深耕 Python】Data Science with Python 数据科学(1)环境搭建 往期数据科学博文一览: 【深耕 Python】Data Science with Python 数据科学(2&…

迎接AI时代:智能科技的社会责任与未来展望

AI智能体的社会角色、伦理挑战与可持续发展路径 引言: 在技术的浪潮中,AI智能体正逐步成为我们生活的一部分。它们在医疗、教育、交通等领域的应用,预示着一个全新的时代即将到来。本文将结合实际案例和数据分析,深入探讨AI智能体…

【c++】模板编程解密:C++中的特化、实例化和分离编译

🔥个人主页:Quitecoder 🔥专栏:c笔记仓 朋友们大家好,本篇文章我们来学习模版的进阶部分 目录 1.非类型模版参数按需实例化 2.模版的特化函数模版特化函数模版的特化类模版全特化偏特化 3.分离编译模版分离编译 1.非类…

第18章 基于经验的测试技术

一、错误猜想法 (一)概念 错误推算法基于测试人员对以往测试项目中一些经验测试程序中的错误测试程序时,人们可根据经验或直觉推测程序中可能存在的各种错误,然后有针对性地编写检查这些错误的测试用例的方法 (二&a…

MySQL如何设计库表结构

一、引言 在设计数据库时,表结构的设计是至关重要的。合理的表结构设计不仅可以提高数据库的性能,还可以使数据更加清晰、易于维护。MySQL作为一种流行的关系型数据库管理系统,其表结构设计也遵循一定的原则和最佳实践。本文将介绍MySQL表结…

【C语言/数据结构】经典链表OJ习题~第二期——链中寻环

🎈🎈🎈欢迎采访小残风的博客主页:残风也想永存-CSDN博客🎈🎈🎈 🎈🎈🎈本人码云 链接:残风也想永存 (FSRMWK) - Gitee.com🎈&#x1f…

蓝牙连接手机播放音乐的同时传输少量数据,那些蓝牙芯片可以实现呢

简介 蓝牙连接手机播放音乐的同时连接另一蓝牙芯片传输少量数据,那些蓝牙芯片可以实现呢? 这个需求,其实就是双模的需求 简单描述就是:播放音乐的同时,还可以连接ble,进行数据的传输。二者同时进行,互不…

数据结构练习题---环形链表详解

链表成环,在力扣中有这样的两道题目 https://leetcode.cn/problems/linked-list-cycle/ https://leetcode.cn/problems/linked-list-cycle-ii/description/ 这道题的经典解法是利用快慢指针,如果链表是一个环形链表,那么快指针(fast)和慢指…

关于NPM的Registry(npm源)

查看当前npm源: npm config get registry 官方源和淘宝源: ①官方源: npm config set registryhttp://registry.npmjs.org ②淘宝源: npm config set registryhttps://registry.npmmirror.com 据了解: 淘宝以前的源…

数据库——实验10 数据库的安全性

1. 安全认证模式 SQL Server有两种身份认证模式:Windows 认证模式和混合认证模式(即 Windows 身份验证和 SQL Server 身份验证)。 (1)仅 Windows 认证模式:这是 SQL Server 2005 的默认身份验证模式,适用于所有登录者均为 Windows 200…

大型企业总分支多区域数据传输,效率为先还是安全为先?

大型企业为了业务拓展需要,会在全国乃至全球各地设立分公司和办事机构,以便更好地处理当地事务,并进行市场的开拓和客户维护,此时,企业内部就衍生出了新的业务需求,即多区域数据传输。 多区域很难准确定义&…

「 网络安全常用术语解读 」通用漏洞报告框架CVRF详解

1. 背景 ICASI在推进多供应商协调漏洞披露方面处于领先地位,引入了通用漏洞报告框架(Common Vulnerability Reporting Format,CVRF)标准,制定了统一安全事件响应计划(USIRP)的原则,…

leetcode_43.字符串相乘

43. 字符串相乘 题目描述:给定两个以字符串形式表示的非负整数 num1 和 num2,返回 num1 和 num2 的乘积,它们的乘积也表示为字符串形式。 注意:不能使用任何内置的 BigInteger 库或直接将输入转换为整数。 示例 1: 输入: num1 &q…

Java中使用RediSearch进行高效数据检索

RediSearch是一款构建在Redis上的搜索引擎,它为Redis数据库提供了全文搜索、排序、过滤和聚合等高级查询功能。通过RediSearch,开发者能够在Redis中实现复杂的数据搜索需求,而无需依赖外部搜索引擎。本文将介绍如何在Java应用中集成并使用Red…

Ubuntu20安装torch1.13和pytorch_geometric2.3.0(对应cuda11.6)

在torch下载页面搜索1.13https://pytorch.org/get-started/previous-versions/,wheel安装方式(激活conda虚拟环境) pip install torch1.13.0cu116 torchvision0.14.0cu116 torchaudio0.13.0 --extra-index-url https://download.pytorch.org…

uniapp 微信开发工具上访问正常,真机调试一直跨域报错

微信小程序真机调试时,出现跨域问题,需要同时在后端设置多种允许跨域的设置: // 指定允许其他域名访问 header(Access-Control-Allow-Origin:*); // 响应类型 header(Access-Control-Allow-Methods:GET,POST,OPTION); // 响应头设置 header(…

《MySQL45讲》读书笔记

重建表 alter table t engine InnoDB(也就是recreate),而optimize table t 等于recreateanalyze,让表大小变小 重建表的执行流程 建立一个临时文件,扫描表 t 主键的所有数据页;用数据页中表 t 的记录生…

建一个wordpress外贸独立站的费用构成与分析

外贸独立站因为独特的优势,越来越被做外贸的跨境电商所青睐。简站主题经常接到做外贸的老板咨询,建一个wordpress外贸独立站大约多少钱,也是被问的最多的问题之一。下面小简就从几个方面讲一下,决定一个wordpress外贸独立站的费用…

小程序引入 Vant Weapp 极简教程

一切以 Vant Weapp 官方文档 为准 Vant Weapp 官方文档 - 快速入手 1. 安装nodejs 前往官网下载安装即可 nodejs官网 安装好后 在命令行(winr,输入cmd)输入 node -v若显示版本信息,即为安装成功 2. 在 小程序根目录 命令行/终端…

unity入门学习笔记

文章目录 unity学习笔记熟悉界面窗口页面快捷键视图特点移动、旋转、缩放快捷键聚焦和隐藏 一些基本概念模型模型的导入一些补充 资源文件资源包的导出资源包的导入 轴心物体的父子关系空物体Global与localpivot与center 组件脚本基础我的第一个脚本 获取脚本组件本地坐标播放模…