【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 开始,逐步排查是否是硬件资源问题或库版本问题。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值