AnXiaobaiZ 2026-03-22 19:00 采纳率: 0%
浏览 2

xanylabeling

安装xanylabeling后,调用AI模型出现了问题:ERROR | model_manager:_load_model:1065 - ❌ Error in loading model: segment_anything with error: D:\a_work\1\s\onnxruntime\python\onnxruntime_pybind_state.cc:891 onnxruntime::python::CreateExecutionProviderInstance CUDA_PATH is set but CUDA wasnt able to be loaded. Please install the correct version of CUDA andcuDNN as mentioned in the GPU requirements page (https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html#requirements), make sure they're in the PATH, and that your GPU is supported.
配制如下:
cuda 12.4.r12.4
onnxruntime-gpu-1.19.2
NVIDIA GeForce RTX 3060 Laptop GPU
没升级显卡驱动之前能够跑模型的,升级后出现了这个error

  • 写回答

1条回答 默认 最新

  • 檀越@新空间 2026-03-22 19:01
    关注

    晚上好🌙🌙🌙
    本答案参考通义千问

    你遇到的错误信息表明 ONNX Runtime 无法加载 CUDA 支持,即使你已经安装了 CUDA 12.4,并且显卡是支持的(RTX 3060)。这通常是因为 CUDA 驱动版本不兼容环境配置错误 导致的。


    ✅ 问题原因分析

    1. CUDA 版本与 ONNX Runtime 不兼容

      • 你使用的是 onnxruntime-gpu-1.19.2,而该版本可能需要特定的 CUDA 版本。例如:
        • onnxruntime-gpu 1.19.2 最适合的 CUDA 是 11.8
        • 而你使用的是 CUDA 12.4,这可能导致了冲突。
    2. CUDA 驱动未正确安装或路径未设置

      • 即使安装了 CUDA,如果驱动没有正确安装、版本过旧,或者环境变量 PATH 中没有包含 CUDA 的路径,也会导致此错误。
    3. 显卡驱动未更新到最新版本

      • 升级 CUDA 后,必须确保 NVIDIA 显卡驱动也同步升级,否则可能不兼容。

    🛠️ 解决方案

    1. 确认 CUDA 和驱动版本是否匹配

    ⚠️ 重要:ONNX Runtime 的 GPU 版本对 CUDA 有严格要求。

    | ONNX Runtime GPU 版本 | 推荐 CUDA 版本 | |----------------------|----------------| | 1.19.2 | 11.8 | | 1.17.0 | 11.7 | | 1.15.0 | 11.6 |

    ✅ 建议:将 CUDA 回退到 11.8,而不是使用 12.4。


    2. 卸载当前 CUDA 并安装兼容版本

    步骤如下:

    1. 卸载现有的 CUDA 12.4

      • 打开控制面板 -> 程序和功能 -> 卸载 NVIDIA CUDA Toolkit 12.4
    2. 下载并安装 CUDA 11.8

      • 官网地址:https://developer.nvidia.com/cuda-11-8-0-download
      • 下载对应系统的安装包(Windows x86_64)
    3. 安装完成后,验证 CUDA 是否成功安装

      • 打开命令提示符,输入以下命令:
        nvcc --version
        
      • 应输出类似:
        nvcc: NVIDIA (R) Cuda compiler driver
        Built on Thu_Jun_16_17:16:16_PDT_2022
        Cuda compilation tools, release 11.8, V11.8.99
        

    3. 安装与 CUDA 11.8 兼容的 cuDNN

    • 下载 cuDNN v8.6.0(对应 CUDA 11.8):

      • 地址:https://developer.nvidia.com/rdp/cudnn-download
      • 注册后选择对应版本下载(例如:cuDNN v8.6.0 for CUDA 11.8)
    • 将解压后的文件复制到 CUDA 安装目录中(如 C:\Program Files\NVIDIA\CUDA\v11.8


    4. 检查 NVIDIA 显卡驱动是否为最新版本

    • 打开 NVIDIA 控制面板,查看驱动版本。
    • 如果不是最新,前往官网下载并安装最新驱动:
      • 官网:https://www.nvidia.com/Download/index.aspx

    5. 设置环境变量(PATH)

    确保以下路径在系统环境变量 PATH 中:

    C:\Program Files\NVIDIA\CUDA\v11.8\bin
    C:\Program Files\NVIDIA Corporation\NVSMI
    

    6. 重新安装 ONNX Runtime GPU

    如果你之前安装的是 onnxruntime-gpu-1.19.2,建议使用与 CUDA 11.8 兼容的版本:

    pip uninstall onnxruntime-gpu
    pip install onnxruntime-gpu==1.17.0
    

    注意: 如果你仍然想用 onnxruntime-gpu-1.19.2,请确保它支持你的 CUDA 版本,否则需降级 CUDA。


    🧪 验证是否解决

    运行以下代码测试 ONNX Runtime 是否能正常调用 GPU:

    import onnxruntime as ort
    
    # 检查可用的执行提供程序
    providers = ort.get_available_providers()
    print("Available providers:", providers)
    
    # 创建会话时指定使用 CUDA
    session = ort.InferenceSession("your_model.onnx", providers=['CUDAExecutionProvider'])
    print("Model loaded successfully with CUDA.")
    

    🔧 可选:如果不想降级 CUDA,可尝试其他方法

    如果你不想降级 CUDA,可以尝试以下方式:

    1. 使用 CPU 版本的 ONNX Runtime

    pip uninstall onnxruntime-gpu
    pip install onnxruntime
    

    这会使用 CPU 运行模型,但性能不如 GPU。


    ✅ 总结

    | 问题 | 解决方案 | |------|----------| | CUDA 12.4 与 ONNX Runtime 1.19.2 不兼容 | 卸载 CUDA 12.4,安装 CUDA 11.8 | | cuDNN 版本不匹配 | 安装与 CUDA 11.8 对应的 cuDNN | | 显卡驱动过旧 | 更新 NVIDIA 显卡驱动 | | 环境变量缺失 | 设置 PATH 包含 CUDA 路径 | | ONNX Runtime 版本不兼容 | 使用与 CUDA 11.8 兼容的 ONNX Runtime 版本(如 1.17.0) |


    如有需要,我可以提供 修改后的 pip 安装命令完整的配置脚本 来帮助你完成这些步骤。欢迎继续提问!

    评论

报告相同问题?

问题事件

  • 创建了问题 3月22日