Python OSError: symbol cublasLtHSHMatmulAlgoInit, version libcublasLt.so.11 not defined的解决

问题与排查

原报错信息如下:

OSError: /opt/conda/lib/python3.8/site-packages/nvidia/cublas/lib/libcublas.so.11: symbol cublasLtHSHMatmulAlgoInit, version libcublasLt.so.11 not defined in file libcublasLt.so.11 with link time reference

我之前的博客PaddleOCR报错也遇到过相似的问题,所以很明显就是一个找不到LD_LIBRARY_PATH路径的问题。
在这次这个问题里面,找不到的文件是libcublasLt.so.11,这个文件是被libcublas.so.11引用的,后者所在的路径通过报错信息给出。于是我们来到这个路径下检查有没有我们需要的文件:

$ ls /opt/conda/lib/python3.8/site-packages/nvidia/cublas/lib/
libcublasLt.so.11  libcublas.so.11  libnvblas.so.11

至此问题的解决方案已经清晰,加一下LD_LIBRARY_PATH路径即可。

解决

在启动终端后,运行程序前没,运行以下指令添加LD_LIBRARY_PATH路径:

export LD_LIBRARY_PATH=/opt/conda/lib/python3.8/site-packages/nvidia/cublas/lib/:$LD_LIBRARY_PATH

讨论

类似这类问题的产生原因都是cudnn的环境变化,如重装cudnn相关工具包等。所以每次通过conda或pip重装过cudnn的包之后,要警惕上述这类问题的发生。关于通过conda或pip重装cudnn相关工具,可以参考我的这篇博客。

你可能感兴趣的:(Python,python,开发语言,深度学习,cudnn)