当前位置: 首页 > 工具软件 > paddle2onnx > 使用案例 >

onnx2paddle转换onnx文件时的cuda版本问题

姜卜霸
2023-12-01

onnx2paddle将onnx转成paddle文件时遇到了cuda版本不兼容问题

运行指令: x2paddle --framework=onnx --model=model.onnx --save_dir=pd_model
错误描述:
error code is /usr/local/cuda/lib64/libcudnn.so: cannot open shared object file: No such file or directory

RuntimeError: (PreconditionNotMet) Cannot load cudnn shared library. Cannot invoke method cudnnGetVersion.
[Hint: cudnn_dso_handle should not be null.] (at /paddle/paddle/phi/backends/dynload/cudnn.cc:64)

原因: 我现在的cuda版本时11.3,与paddlepaddle-gpu 0.0.0.post111、x2paddle1.4.0版本不匹配,通过查询,paddlepaddle的每个版本都会要求相应的cuda版本,对于我来说可以换成cuda11.1
解决办法:

  1. 安装多个版本cuda,进行版本切换。(注:尽量不要直接删掉自己的cuda,可以在同一台电脑上安装多个不同版本的cuda)
  2. 多版本cuda安装,安装教程很多,我看的这两个:教程1教程2
  3. 重中之重是利用软连接进行版本的切换
# 建立软连接
# 1.先将原来的软连接删掉
sudo rm -rf /usr/local/cuda
sudo ln -s /usr/local/cuda-11.* /usr/local/cuda #将想要切换的版本11.*链接到/usr/local/cuda

#检测版本
nvcc -V

#查看cudnn版本是否变换成功
cat /usr/local/cuda/include/cudnn_version.h | grep CUDNN_MAJOR -A 2

至此,问题解决。

 类似资料: