腾讯云服务器部署onnxruntime-gpu经验总结

前言

有项目需要用onnxruntime-gpu进行推理,原以为像windows一样在已经有cuda的情况下直接安装onnxruntime-gpu即可,却没想到这么麻烦,故分享此文帮助后来者。

环境

gpu计算型英伟达v100云服务器。
在选择安装系统时已经选择了最高版本如下:
Ubuntu20.04
cuda11.0.3
cudnn8.5.0
用命令行查看nvidia-smi:
在这里插入图片描述
可以看到确实已经安装了cuda。

报错记录

1.[W:onnxruntime:Default, onnxruntime_pybind_state.cc:541 CreateExecutionProviderInstance] Failed to create CUDAExecutionProvider. Please reference https://onnxruntime.ai/docs/reference/execution-providers/CUDA-ExecutionProvider.html#requirements to ensure all dependencies are met.
是直接使用以下命令安装导致的版本不兼容问题:

pip install onnxruntime-gpu

具体版本对应关系见下表:
在这里插入图片描述
因为cuda是11.0.3,所以只能用onnxruntime-gpu==1.8或者1.7来进行安装。

2.onnxruntime OSError: libcurand.so.10: cannot open shared object file: No such file or directory

这是因为腾讯云cuda安装的位置很怪,默认找不到它这个环境变量,需手动添加,下面我来演示一下如何手动添加。

解决

1.如果保持默认cuda11.0.3,那么运行如下安装命令:

pip install onnxruntime-gpu==1.8.0
或者
pip install onnxruntime-gpu==1.7.0

2.查找cuda文件目录:

find / -name "libcudart.so.11.0"

-name后面是文件名,根据需要替换,缺什么查什么,我这边显示它们在以下目录:
在这里插入图片描述
3.配置环境变量:

首先:

vi /etc/profile

然后按 i 切换输入模式,在文末添加多行环境变量:

扫描二维码关注公众号,回复: 15404490 查看本文章
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cudnn/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cublas/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cuda_runtime/lib:$LD_LIBRARY_PATH
export LD_LIBRARY_PATH=/usr/local/lib/python3.8/dist-packages/nvidia/cuda_nvrtc/lib:$LD_LIBRARY_PATH

目录位置请根据自己的修改,我这边是默认的,改完像下面这样:

在这里插入图片描述
按esc退出输入模式。按 : 输入wq保存退出。

然后生效:

source /etc/profile

输入以下命令确认环境变量生效:

echo $LD_LIBRARY_PATH

正确的话再运行框架创建cuda算子就不会提示报错了。

猜你喜欢

转载自blog.csdn.net/weixin_43945848/article/details/129194357
今日推荐