解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory

这是比较常见的问题,根本原因就是找不到cuda
下面说一下对应的几种情况:

一、使用的是命令行在相应的虚拟环境下调用gpu版本的tensorflow报错

这种情况一般有两种原因:

1、cuda和tensorflow版本不对应

解决办法:重新安装tensorflow,cuda,版本要对应,tensorflow中文社区有对应的详细内容,点开链接拉到最下面
解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory_第1张图片

2、系统找到不到cuda

vim ~./bashrc

最后面添加

export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
    
export LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}

export CUDA_HOME=/usr/local/cuda

最后刷新一下

source ~/.bashrc

测试
切换到你对应的虚拟环境,输入python测试

import tensorflow as tf
print(tf.__version__)

可以得到对应的版本,说明成功。

二、使用pycharm时import tensorflow报错

首先用上一步的测试看看能不能成功打印tensorflow版本,如果失败就用上面的方法先处理一下。
编译器不报错,pycharm却报错是因为pycharm无法读到你设置的环境变量。解决办法分两种情况

1、使用的是本地的pycharm和本地的虚拟环境

linux下解决办法两种:

1.1在终端通过bash启动pycharm,就会找到环境变量了

1.2找到pycharm.sh文件后将cuda相关环境变量添加进去,保存即可。

在pycharm文件下面的bin目录下,添加LD_LIBRARY_PATH=/usr/local/cuda/lib64
解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory_第2张图片
windows下直接修改环境变量就可以。

2、使用远程连接的方式使用服务器

方法挺多的,主要说两种,根本就在于要让pycharm找到cuda的位置

2.1直接修改pycharm配置,点击pycharm的Run->Edit Configurations

解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory_第3张图片
点击红框的位置
解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory_第4张图片
点击加号添加新的环境变量,LD_LIBRARY_PATH=/usr/local/cuda/lib64
解决ImportError: libcublas.so.10.0: cannot open shared object file: No such file or directory_第5张图片

2.2直接创建动态链接库

用xshell远程连接服务器

ldconfig /usr/local/cuda/lib64

创建链接的方式也有很多,就说这一种吧,具体可以百度查一下动态链接库的知识。

你可能感兴趣的:(tensorflow,pycharm,tensorflow,python)