我在Python 3.5 Anaconda envrionment上安装了Tensorflow GPU v1.0。一切似乎都很好。我可以运行Juputer笔记本和终端,以下几行。它告诉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环境,Jupyter,终端,Eclipse中尝试过Tensorflow CPU,一切都很好!
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张量流有问题。
答案 0 :(得分:1)
更新: 如果我使用sudo启动eclipse,我必须通过设置Run configurations - &gt;在eclipse中添加LD_LIBRARY_PATH =:/ usr / local / cuda / lib64。环境变量。
答案 1 :(得分:0)
您遇到与cuda7.5 question类似的问题。快速浏览一下。
我建议在运行IDE时将CUDA lib文件夹添加到PYTHONPATH。
PYTHONPATH=$PYTHONPATH:/usr/local/cuda/lib64 ./myEclipseFolder/eclipse
简而言之,因为您可以从命令行而不是从Eclipse IDE工作,所以您必须正确配置Eclipse python解释器并将其指向正确的CUDA lib&amp; bin路径。这不是TensorFlow CPU所必需的,它不依赖libcudart.so
祝你好运!
答案 2 :(得分:0)
在这种情况下,我认为第一件事就是从命令行运行它...之后,我的建议是从同一个shell启动Eclipse,然后检查启动它时所有环境变量是否与来自贝壳。
作为一个注释,PYTHONPATH是PyDev中的一个特殊变量,由您在解释器中添加的文件和项目中的源文件夹组成,因此,为了检查PYTHONPATH我的建议是创建一个程序:
import sys
print('\n'.join(sorted(sys.path)))
从命令行和Eclipse内部运行它来比较可能不同的东西(并相应地修复PyDev上的配置)。