遇到问题
使用 onnxruntime-gpu==1.19.2
推理模型时遇到问题
[E:onnxruntime:Default, provider_bridge_ort.cc:1992 TryGetProviderInfo_CUDA] /onnxruntime_src/onnxruntime/core/session/provider_bridge_ort.cc:1637 onnxruntime::Provider& onnxruntime::ProviderLibrary::Get() [ONNXRuntimeError] : 1 : FAIL : Failed to load library libonnxruntime_providers_cuda.so with error: libcublasLt.so.12: cannot open shared object file: No such file or directory
另参考环境中 CUDA==11.2
大概可知是 onnxruntime-gpu
要求的 CUDA-12 与系统的 CUDA-11 版本不符导致。
查找方案
找到 github issue,确认了猜想:
https://github.com/microsoft/onnxruntime/issues/21684#issuecomment-2277205069
同时提供了 onnxruntime-gpu
和 CUDA
对应版本的参考链接:
https://onnxruntime.ai/docs/execution-providers/CUDA-ExecutionProvider.html
以下是不完整截图
注:CUDA 是大版本内互相兼容的,所以任意支持 CUDA-11 版本的 onnxruntime-gpu
都支持任意 CUDA-11 版本的环境。
解决问题
直接安装支持 CUDA-11 的 onnxruntime-gpu
python -m pip install onnxruntime-gpu==1.11
重新运行代码,顺利结束。