You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决WSL2中使用Torch时出现的CUDNN_STATUS_NOT_INITIALIZED错误

解决WSL2中PyTorch调用cuDNN出现CUDNN_STATUS_NOT_INITIALIZED错误

环境配置

  • 系统:Windows 10 + WSL2 Ubuntu
  • GPU:NVIDIA T1200笔记本GPU,Windows端已安装兼容驱动
  • WSL安装:通过管理员权限执行wsl --install、wsl --update完成安装,nvidia-smi可正常显示驱动信息
  • CUDA:本地deb源安装Cudatoolkit 12.1,配置环境变量:
    export PATH=/usr/local/cuda-12.1/bin${PATH:+:${PATH}}
    export LD_LIBRARY_PATH=/usr/local/cuda-12.1/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
    
  • CuDNN:版本8.9.1.23
  • Python环境:Anaconda3-2020.02-Linux-x86_64,创建conda环境conda create -n my_env python=3.8 cython,安装Torch==2.0.0+cu117及依赖库

报错信息

运行测试脚本时抛出如下错误:

Traceback (most recent call last):
  File "test.py", line 169, in <module>
    tester.infer()
  File "test.py", line 103, in infer
    pred = self.model(pts.cuda(), None)
  File "/home/amadou/anaconda3/envs/cyconvlite/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/mnt/c/Users/9822223E/Stage3A/WSL_ressources/model_init/models/networks.py", line 47, in forward
    _, y0 = self.cv_in(x_in, x_in, y_in, 16)
  File "/home/amadou/anaconda3/envs/cyconvlite/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/mnt/c/Users/9822223E/Stage3A/WSL_ressources/model_init/models/kernels.py", line 253, in forward
    y_out = self.conv(y_out.transpose(2,1)).view(batch_size, n_pts_out, self.out_features)
  File "/home/amadou/anaconda3/envs/cyconvlite/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1501, in _call_impl
    return forward_call(*args, **kwargs)
  File "/home/amadou/anaconda3/envs/cyconvlite/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 313, in forward
    return self._conv_forward(input, self.weight, self.bias)
  File "/home/amadou/anaconda3/envs/cyconvlite/lib/python3.8/site-packages/torch/nn/modules/conv.py", line 309, in _conv_forward
    return F.conv1d(input, weight, bias, self.stride,
RuntimeError: cuDNN error: CUDNN_STATUS_NOT_INITIALIZED

已尝试重装WSL、CuDNN及重建conda环境,问题仍未解决。

解决方案

  1. 版本兼容性检查
    Torch==2.0.0+cu117是基于CUDA 11.7编译的,但系统中安装的是CUDA 12.1,版本不匹配会直接导致cuDNN初始化失败。可选择两种修复方式:

    • 卸载当前CUDA 12.1,安装CUDA 11.7版本;
    • 更换为适配CUDA 12.1的PyTorch版本(如Torch==2.0.0+cu118或更高版本,需确认与Python3.8兼容)。
  2. 验证CuDNN与CUDA版本匹配
    CuDNN 8.9.1.23适配CUDA 12.0/12.1,但如果搭配CUDA 11.7,需要更换为对应版本的CuDNN(如CuDNN 8.5.x系列),确保二者版本严格对应。

  3. 确认环境变量生效
    将CUDA环境变量配置写入~/.bashrc或conda环境的activate.d脚本中,确保每次激活环境时自动加载。执行echo $PATH和echo $LD_LIBRARY_PATH确认CUDA路径排在最前端,避免系统其他CUDA版本干扰。

  4. 基础CUDA/cuDNN可用性测试
    在conda环境中运行以下代码,验证基础功能是否正常:

    import torch
    print(torch.cuda.is_available())
    print(torch.backends.cudnn.version())
    print(torch.cuda.device_count())
    # 测试简单卷积
    x = torch.randn(1, 3, 32).cuda()
    conv = torch.nn.Conv1d(3, 16, 3).cuda()
    y = conv(x)
    print(y.shape)
    

    如果此步骤报错,说明基础环境存在问题,需优先排查解决。

  5. 检查WSL2版本与驱动兼容性
    确保Windows端NVIDIA驱动为适配WSL2的最新版本,同时WSL2内核版本不低于5.10。执行wsl --status查看内核版本,若版本过低则执行wsl --update升级。

内容的提问来源于stack exchange,提问作者Amadou

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.22 10:15:05