cuda 10.1下使用tensorflow-gpu 1.4报错解决办法

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接: https://blog.csdn.net/weixin_42398077/article/details/101158496

cuda 10.1下使用tensorflow-gpu 1.4报错解决办法


  • 报错信息:
    ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

  • 报错原因:
    报错是没有在 /usr/local/cuda-10.1/lib64/ 下找到 libcublas.so.10.0 导致的. 事实上, cuda10.1 安装时, libcublas.so.10.0并没有放在该目录下, 而是在 /usr/lib/x86_64-linux-gnu/ 目录下, 且名称为 libcublas.so.10.

  • 解决办法:
    因此, 只需新建一个软链接 libcublas.so.10.0, 指向 libcublas.so.10, 并且将该目录 /usr/lib/x86_64-linux-gnu/ 加入到环境变量中即可解决.
    $ cd /usr/lib/x86_64-linux-gnu/
    $ sudo ln -s /usr/lib/x86_64-linux-gnu/libcublas.so.10 /usr/lib/x86_64-linux-gnu/libcublas.so.10.0 
    $
    $ sudo vim ~/.bashrc
    
    然后修改 ~/.bashrc , 添加 /usr/lib/x86_64-linux-gnu/ 到 LD_LIBRARY_PATH 中,
    export LD_LIBRARY_PATH="/usr/lib/x86_64-linux-gnu/:/usr/local/cuda-10.1/lib64:${LD_LIBRARY_PATH}"
    
    然后 wq 保存退出, 执行:
    $ source ~/.bashrc
    

  • 其他错误:
    但是上述方法并没有完全解决问题, 仍然出现报错, 原因和上面的差不多, 有几个包无法找到, 但是与上面的不同, 这些包都是在 /usr/local/cuda-10.1/lib64/ 目录下, 因此需要添加一下软链接.
    $ cd /usr/local/cuda-10.1/lib64
    $ sudo ln -s libcudart.so libcudart.so.10.0
    $ sudo ln -s libcufft.so libcufft.so.10.0
    $ sudo ln -s libcurand.so libcurand.so.10.0
    $ sudo ln -s libcusolver.so libcusolver.so.10.0
    $ sudo ln -s libcusparse.so libcusparse.so.10.0
    

至此, tensorflow1.4 可以在cuda 10.1 下正常运行了.

猜你喜欢

转载自blog.csdn.net/weixin_42398077/article/details/101158496