【发布时间】:2017-08-12 08:44:25
【问题描述】:
我在 Python 3.5 Anaconda 环境中安装了 Tensorflow GPU v1.0。一切似乎都很好。我可以运行 Juputer notebook 并在终端中运行以下几行。它告诉 GPU 运行良好:
import tensorflow as tf
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
====Output
Python 3.5.3 |Continuum Analytics, Inc.| (default, Mar 6 2017, 11:58:13)
[GCC 4.4.7 20120313 (Red Hat 4.4.7-1)] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally
>>> sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
…
I tensorflow/core/common_runtime/gpu/gpu_device.cc:906] DMA: 0 1
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 0: Y Y
I tensorflow/core/common_runtime/gpu/gpu_device.cc:916] 1: Y Y
…
但是,在 Eclipse 中,我通过选择 Ananconda/env//bin/python 来设置环境。以上 2 个 GPU 验证行给出错误:
ImportError: libcudart.so.8.0: 无法打开共享对象文件:没有这样的文件或目录
我在另一个 Anaconda 环境中尝试过 Tensorflow CPU,Jupyter、终端、Eclipse,都很好!
Eclipse 中对于 tensorflow GPU 缺少什么?让 Eclipse 为 Tensoflow GPU v1.0 工作的任何额外步骤。
========错误信息========
File "/home/<username>/anaconda3/envs/dl-conda-py35/lib/python3.5/imp.py", line 242, in load_module
return load_dynamic(name, filename, file)
File "/home/<username>/anaconda3/envs/dl-conda-py35/lib/python3.5/imp.py", line 342, in load_dynamic
return _load(spec)
ImportError: libcudart.so.8.0: cannot open shared object file: No such file or directory
但文件:libcudart.so.8.0 存在。
$ls /usr/local/cuda/lib64/libcudart.so.8.0
/usr/local/cuda/lib64/libcudart.so.8.0
我设置 Eclipse Python 解释器的方式与 Tensorflow CPU 相同(CPU 没有问题)。但是GPU tensorflow有问题。
【问题讨论】:
-
您安装了 CUDA 版本 8 吗?如果是这样,您的所有库都应该位于
/usr/local/cuda/lib64/libcuda*中,您可能必须运行 ldconfig 来更新共享库缓存(以便 tensorflow 可以找到它) -
cuda8,cudnn5 已安装。我检查了安装,它看起来不错。我可以运行一些 tensorflow 项目。有些项目不在 tensorflow gpu 版本上运行,但在 tensorflow cpu 上运行良好。我知道gpu版本似乎不稳定。我没关系。我试图弄清楚为什么 Eclipse 不适用于 tensorflow gpu v1.0,并给我错误。
-
运行
ls /usr/local/cuda/lib64/你会得到什么?然后制作并运行几个 cuda8 样本@/usr/local/cuda/samples/1_Utilities(将使用 libcudart)并确保它们运行。如果它们不运行,则说明您的安装不正确(Eclipse 将找不到它)。 -
ls /usr/local/cuda/lib64/.找到 libcudart.so。 /usr/local/cuda/samples/1_Utilities/bandwidthTest$ ./bandwidthTest.它运行正常。 Eclipse不行,只有Tensorflow GPU v1.0,Python3.5。对于 Tensorflow CPU,Eclipse 适合我。
-
在原帖中添加了详细的错误信息。
标签: eclipse tensorflow gpu