当前位置: 首页 > news >正文

【pytorch】RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 报错

报错 RuntimeError: cuDNN error: CUDNN_STATUS_EXECUTION_FAILED 表示在调用 cuDNN 库(CUDA 深度神经网络加速库)时,出现了执行失败的问题。这个问题通常与 CUDA 环境、cuDNN 库的版本不匹配、GPU 显存不足或其他硬件配置问题有关。

------------------

最终禁用cudnn之后有用,但是禁用后跑的很慢,需要进一步探讨怎么解决cudnn的问题

-------------------

解决步骤:

1. 检查 GPU 显存是否不足
  • CUDNN_STATUS_EXECUTION_FAILED 常常是由于显存不足导致的。你可以通过命令检查 GPU 的显存使用情况:
    nvidia-smi
  • 如果显存不足,可以尝试减小 batch_size 参数,例如将批量大小从 24 减小为 16 或 8:
    python train_classification.py --model pointnet_cls --log_dir pointnet_cls --batch_size 16
2. 更新或重装 CUDA 和 cuDNN
  • 确保安装的 CUDA 版本与 PyTorch 和 cuDNN 版本兼容。你可以使用以下命令检查当前的 CUDA 和 PyTorch 版本:
    import torch print(torch.version.cuda) print(torch.backends.cudnn.version())
  • 如果版本不匹配,可能需要重新安装合适的 CUDA 和 cuDNN 版本。参考 PyTorch 官网 获取正确的安装命令。
3. 禁用 cuDNN(有效)
  • 如果你怀疑是 cuDNN 的问题,可以尝试禁用 cuDNN 以排除问题。添加以下代码禁用 cuDNN:
    torch.backends.cudnn.enabled = False
  • 你可以在 train_classification.py 文件的开头添加这行代码来禁用 cuDNN。
4. 更新 PyTorch 版本
  • 如果你使用的 PyTorch 版本较旧,可能存在与 cuDNN 的兼容性问题。可以尝试升级 PyTorch:
    conda install pytorch torchvision torchaudio cudatoolkit=11.3 -c pytorch
5. 使用 CPU 模式进行调试
  • 如果以上方法都无法解决问题,你可以尝试先使用 CPU 模式来调试代码,确认模型代码是否有其他问题:
    python train_classification.py --model pointnet_cls --log_dir pointnet_cls --use_cpu

总结:

这个错误主要与 CUDA 或 cuDNN 相关,常见原因包括显存不足或 CUDA/cuDNN 版本不匹配。你可以从调整 batch_size 开始,逐步排查是否是硬件资源问题或库版本问题。

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 【Unity踩坑】UI Image的fillAmount不起作用
  • Spring中的Web Service消费者集成(应该被淘汰的技术)
  • 【学习笔记】STM32F407探索者HAL库开发(五)F407时钟系统配置
  • MySQL高阶1907-按分类统计薪水
  • Codeforces Round 784 (Div. 4) Kotlin
  • 滚雪球学SpringCloud[4.1讲]: Spring Cloud Gateway详解
  • 利用Python与Ansible实现高效网络配置管理
  • java使用ByteBuffer进行多文件合并和拆分
  • 深入理解前端拖拽:从基础实现到事件冒泡与委托的应用【面试真题】
  • HTTP常见状态码 HTTP的逐步发展(通俗易懂版)
  • 大数据新视界 --大数据大厂之JavaScript在大数据前端展示中的精彩应用
  • 【论文笔记】Are Large Kernels Better Teacheres than Transformers for ConvNets
  • 一文入门生成式AI(理解ChatGPT的原理)
  • C语言的一些小知识(四)
  • C++ | Leetcode C++题解之第414题第三大的数
  • Android优雅地处理按钮重复点击
  • django开发-定时任务的使用
  • ES6核心特性
  • java8 Stream Pipelines 浅析
  • javascript数组去重/查找/插入/删除
  • JavaSE小实践1:Java爬取斗图网站的所有表情包
  • js写一个简单的选项卡
  • SQLServer插入数据
  • Yeoman_Bower_Grunt
  • Zsh 开发指南(第十四篇 文件读写)
  • 第三十一到第三十三天:我是精明的小卖家(一)
  • 前端相关框架总和
  • 思考 CSS 架构
  • 推荐一个React的管理后台框架
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • 问:在指定的JSON数据中(最外层是数组)根据指定条件拿到匹配到的结果
  • 学习HTTP相关知识笔记
  • 译米田引理
  • 【干货分享】dos命令大全
  • !! 2.对十份论文和报告中的关于OpenCV和Android NDK开发的总结
  • #Ubuntu(修改root信息)
  • #单片机(TB6600驱动42步进电机)
  • #我与虚拟机的故事#连载20:周志明虚拟机第 3 版:到底值不值得买?
  • (10)ATF MMU转换表
  • (12)Hive调优——count distinct去重优化
  • (安卓)跳转应用市场APP详情页的方式
  • (求助)用傲游上csdn博客时标签栏和网址栏一直显示袁萌 的头像
  • (十一)手动添加用户和文件的特殊权限
  • (原創) 如何使用ISO C++讀寫BMP圖檔? (C/C++) (Image Processing)
  • (转)可以带来幸福的一本书
  • (自用)交互协议设计——protobuf序列化
  • .net 4.0发布后不能正常显示图片问题
  • .net core开源商城系统源码,支持可视化布局小程序
  • .NET 设计一套高性能的弱事件机制
  • .net使用excel的cells对象没有value方法——学习.net的Excel工作表问题
  • .NET微信公众号开发-2.0创建自定义菜单
  • .vue文件怎么使用_我在项目中是这样配置Vue的
  • @ComponentScan比较
  • [ CTF ] WriteUp- 2022年第三届“网鼎杯”网络安全大赛(朱雀组)
  • []常用AT命令解释()