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

ONNXRuntime加载CUDA库错误126及CUDA未启用问题求助

解决ONNXRuntime-GPU加载onnxruntime_providers_cuda.dll错误126(CUDA 12.4 + cuDNN 9.x兼容冲突)

问题原因

ONNXRuntime-GPU的版本与cuDNN版本存在隐性兼容限制:

  • 你当前使用的ONNXRuntime 1.18.1是基于cuDNN 8.x编译发布的,虽然官方文档未明确标注,但该版本无法兼容cuDNN 9.x(你的版本为90100)。cuDNN大版本迭代中部分API发生了变更,导致onnxruntime_providers_cuda.dll无法找到依赖的cuDNN函数,触发加载错误126。
  • PyTorch 2.4.0+cu124适配的是cuDNN 9.x,这和ONNXRuntime 1.18.1的依赖要求形成冲突,导致GPU执行器无法初始化。

解决方法

方案1:降级cuDNN至适配CUDA12.4的8.x版本

  • 下载cuDNN 8.9.7 for CUDA 12.x(该版本是官方支持CUDA12.4的最高cuDNN 8.x版本)
  • 解压下载包,将bin、include、lib三个文件夹中的内容,覆盖到你的CUDA 12.4安装目录(默认路径为C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.4)
  • 重启Python环境或终端,重新运行模型代码

方案2:升级ONNXRuntime-GPU至支持cuDNN9.x的版本

  • ONNXRuntime从1.19.0版本开始正式支持cuDNN 9.x和CUDA 12.4,执行以下命令升级:
    pip install --upgrade onnxruntime-gpu==1.19.0
    
    若需要最新特性,也可直接安装最新稳定版:
    pip install --upgrade onnxruntime-gpu
    
  • 升级完成后,运行以下代码验证CUDA执行器是否可用:
    import onnxruntime as ort
    print("可用执行器:", ort.get_available_providers())
    
    输出中若包含CUDAExecutionProvider则说明配置成功

方案3:临时切换为CPU执行(应急方案)

如果无需GPU加速,可在初始化推理会话时指定仅使用CPU执行器:

import onnxruntime as ort
sess = ort.InferenceSession("你的模型路径.onnx", providers=['CPUExecutionProvider'])

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.20 08:02:46