带有 CUDA 8.0 rc 的 Tensorflow

带有 CUDA 8.0 rc 的 Tensorflow

当我尝试在 Python 中导入 tensorflow 时,出现此错误。

ImportError: libcudart.so.7.5: cannot open shared object file: No such file or directory

我正在使用 CUDA 8.0 RC 和 Ubuntu 16.04。

答案1

对于 Ubuntu 16.04 上的 CUDA 8.0,你必须从源代码构建和安装 TF,在配置阶段它将请求 CUDA 版本,请指定 8.0

答案2

正如它所说的TensorFlowdocs,通常应该通过 pip 安装 CUDA,然后按照说明安装 tensorflow 包。然后在使用前进行激活。

$ source ~/tensorflow/bin/activate  # If using bash.
$ source ~/tensorflow/bin/activate.csh  # If using csh.
(tensorflow)$  # Your prompt should change.
# Run Python programs that use TensorFlow.
...
# When you are done using TensorFlow, deactivate the environment.
(tensorflow)$ deactivate

希望这可以帮助。

答案3

另一个选择是删除 cuda 8.0 并安装 cuda 7.5,我就是这么做的。删除 cuda 8.0 -

sudo dpkg -r cuda

从 nvidia 网站下载 cuda 7.5。然后,执行-

sudo dpkg -i cuda-repo-ubuntu1404-7-5-local_7.5-18_amd64.deb
sudo apt-get update

然后,进入突触数据包管理器,搜索cuda。选择cuda-7-5,然后安装所有相关内容。您必须从突触数据包管理器执行此操作。如果您sudo apt-get install从终端执行此操作,它将再次安装 cuda 8.0。

希望这可以避免某些人因沮丧而拔头发。

答案4

您说您有 CUDA 8.0,但您的 libcudart 似乎是版本 7.5。您可能需要删除 CUDA 并重新开始,rm -rf /usr/local/cuda-<7.5 or 8.0>确保将 <> 部分替换为您的实际版本并将其作为 运行sudo。全新安装后,在 /etc/ld.so.conf.d/ 中创建一个 .conf 文件:

sudo nano /etc/ld.so.conf.d/nvidia.conf

添加此内容:

/usr/local/cuda-8.0/lib64
/usr/local/cuda-8.0/lib  # you probably don't need this line; check
                         # if the directory exists

然后跑sudo ldconfig。希望这能给你带来快乐。

相关内容