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

Ubuntu20系统中ONNX Runtime创建CUDAExecutionProvider失败原因排查

解决onnxruntime-gpu CUDA执行器偶发创建失败问题

问题复现

运行以下代码时偶发报错:

import onnxruntime as rt
ort_session = rt.InferenceSession(
            "my_model.onnx",
            providers=["CUDAExecutionProvider"],
)

报错提示:

[W:onnxruntime:Default, onnxruntime_pybind_state.cc:578 CreateExecutionProviderInstance] Failed to create CUDAExecutionProvider. Please reference https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements to ensure all dependencies are met.

环境:VS Code Jupyter环境、Python 3.8.15、onnxruntime-gpu 1.13.1,切换为["CPUExecutionProvider"]可正常运行。

排查与解决步骤

  • 严格匹配版本依赖:onnxruntime-gpu 1.13.1要求搭配CUDA 11.6、cuDNN 8.4.x,版本不匹配是偶发报错的核心原因。可通过以下命令查看当前环境的CUDA组件版本:
    conda list cudatoolkit
    conda list cudnn
    
    若版本不符,执行安装命令调整:
    conda install cudatoolkit=11.6 cudnn=8.4.0 -c conda-forge
    
  • 手动配置环境变量:Jupyter环境可能无法自动加载系统CUDA环境变量,可在Notebook开头手动添加路径配置:
    import os
    # 替换为你的CUDA 11.6安装路径
    os.environ['CUDA_PATH'] = '/usr/local/cuda-11.6'  # Linux示例
    # os.environ['CUDA_PATH'] = 'C:\\Program Files\\NVIDIA GPU Computing Toolkit\\CUDA\\v11.6'  # Windows示例
    os.environ['PATH'] = os.environ['CUDA_PATH'] + '/bin:' + os.environ['PATH']
    
  • 清理缓存并重启环境:偶发报错可能源于Jupyter进程缓存了旧依赖,关闭所有VS Code窗口与Jupyter内核,删除Python项目下的__pycache__文件夹,重新启动环境后测试。
  • 切换onnxruntime-gpu版本:若1.13.1兼容性问题突出,可尝试切换到1.12.1(对应CUDA 11.4)或1.14.1(对应CUDA 11.7),注意同步调整CUDA与cuDNN版本。
  • 验证CUDA硬件可用性:运行以下代码确认CUDA硬件与驱动是否正常:
    import onnxruntime as rt
    # 查看当前环境可调用的执行器
    print(rt.get_available_providers())
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 18:56:16