Could not load dynamic library ‘libcusolver.so.11‘ No such file or directory; LD_LIBRARY_PATH:

2023-11-05

        今日在安装tensorflow的时候遇见不能使用gpu的情况,经过一顿费劲网上搜集资料,发现根本就没有人说明白这个事情,特此做个笔记,把这个报错一次性说明白,一是为了给自己做个记录,二是也希望能帮助大家

        首先,基本高版本的tensor flow都能兼容低版本的cuda。所以不用相信什么cuda的版本一定要死死的匹配上tf的版本。

        机器环境:cuda  11.0

        网上查了半天,说只能用2.4.0 , 2.5.0   安装了,发现也用不了,报这个错误

        

发现是tf在加载时少了个文件,其实这个错误是因为cuda 11.0的问题,因为这个是11版本的第一个版本   ,11.0嘛。所以它的大部分.so文件都是.10的。没错,cuda 11.0本身就没有这个文件 。所以大家第一步,一定要先去搞一个这个文件。libcusolver.so.11

        1.可以全局搜一下,很多包会有这个文件,docker啊啥的,有的镜像也会有

        2.从别的服务器cp一个过来也可以,要不就网上下一个啥的,这个文件烂大街,不难搞

然后,把它放到/usr/local/cuda/lib64  这个目录中,这个目录是专门存放这类文件的地方

其次:

        tf是不知道你放到哪里的,它只会从 $LD_LIBRARY_PATH     这个变量的地址中找这个屌文件,但是大家可以echo一下,会发现,没错,连这个屌地址都没有

        如果是虚拟环境   要conda  activate 进去这个虚拟环境  ,要给这个环境配变量值

        将$LD_LIBRARY_PATH 变量增加刚才放入的地址

        export LD_LIBRARY_PATH=/usr/local/cuda-11.0/lib64:/usr/local/lib:$LD_LIBRARY_PATH

基本流程是这样

        

原理基本就是这样,知道了原理,解决起来也很清晰明了,就不明白为啥好多人说不明白这个事,希望有能帮助到看到这个帖子的人吧

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Could not load dynamic library ‘libcusolver.so.11‘ No such file or directory; LD_LIBRARY_PATH: 的相关文章

随机推荐