腾讯云服务器部署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 切换输入模式,在文末添加多行环境变量:

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算子就不会提示报错了。

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值