安装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
xanylabeling
- 写回答
- 好问题 0 提建议
- 关注问题
- 邀请回答
-
1条回答 默认 最新
檀越@新空间 2026-03-22 19:01关注晚上好🌙🌙🌙
本答案参考通义千问你遇到的错误信息表明 ONNX Runtime 无法加载 CUDA 支持,即使你已经安装了 CUDA 12.4,并且显卡是支持的(RTX 3060)。这通常是因为 CUDA 驱动版本不兼容 或 环境配置错误 导致的。
✅ 问题原因分析
-
CUDA 版本与 ONNX Runtime 不兼容
- 你使用的是
onnxruntime-gpu-1.19.2,而该版本可能需要特定的 CUDA 版本。例如:onnxruntime-gpu 1.19.2最适合的 CUDA 是 11.8。- 而你使用的是 CUDA 12.4,这可能导致了冲突。
- 你使用的是
-
CUDA 驱动未正确安装或路径未设置
- 即使安装了 CUDA,如果驱动没有正确安装、版本过旧,或者环境变量
PATH中没有包含 CUDA 的路径,也会导致此错误。
- 即使安装了 CUDA,如果驱动没有正确安装、版本过旧,或者环境变量
-
显卡驱动未更新到最新版本
- 升级 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 并安装兼容版本
步骤如下:
-
卸载现有的 CUDA 12.4
- 打开控制面板 -> 程序和功能 -> 卸载 NVIDIA CUDA Toolkit 12.4
-
下载并安装 CUDA 11.8
- 官网地址:https://developer.nvidia.com/cuda-11-8-0-download
- 下载对应系统的安装包(Windows x86_64)
-
安装完成后,验证 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 安装命令 或 完整的配置脚本 来帮助你完成这些步骤。欢迎继续提问!
解决 无用评论 打赏 举报-