Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/eclipse/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/tensorflow/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tensorflow GPU Python 3.5。Eclipse出现错误:ImportError:libcudart.so.8.0:无法打开共享对象文件:_Eclipse_Tensorflow_Gpu - Fatal编程技术网

Tensorflow GPU Python 3.5。Eclipse出现错误:ImportError:libcudart.so.8.0:无法打开共享对象文件:

Tensorflow GPU Python 3.5。Eclipse出现错误:ImportError:libcudart.so.8.0:无法打开共享对象文件:,eclipse,tensorflow,gpu,Eclipse,Tensorflow,Gpu,我在Python 3.5 Anaconda环境中安装了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, M

我在Python 3.5 Anaconda环境中安装了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环境中尝试了Tensorflow CPU,Jupyter、terminal、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

我设置EclipsePython解释器的方法和Tensorflow CPU一样,没有问题。但是GPU tensorflow有问题。

您也有类似的问题。快速看一眼

我建议在运行IDE时将CUDA lib文件夹添加到PYTHONPATH

PYTHONPATH=$PYTHONPATH:/usr/local/cuda/lib64 ./myEclipseFolder/eclipse
简而言之,因为您可以从命令行工作,但不能从EclipseIDE工作,所以必须正确配置EclipsePython解释器,并将其指向正确的CUDA lib&bin路径。这不是TensorFlow CPU所必需的,它不依赖libcudart。祝你好运

更新-添加了Liclipse/PyDev屏幕截图:


更新2:运行上面的代码这是我得到的消息,TF GPU正在工作:

有趣的是,我遵循了ruoho ruotsi的指示。当我用sudo/yourclipse/eclipse启动eclipse时,它仍然找不到cuda,但如果没有sudo,它可以

更新:
如果我使用sudo启动eclipse,我必须通过设置Run configurations->environment variables在eclipse中添加LD_LIBRARY_PATH=:/usr/local/cuda/lib64。在这种情况下,我认为第一件事是从命令行运行它。。。之后,我的建议是从同一个shell启动Eclipse,然后检查启动它时所有的环境变量是否与shell中的匹配

请注意,PYTHONPATH是PyDev中的一个特殊变量,由您在解释器和项目的源文件夹中添加的文件组成,因此,要检查PYTHONPATH,我的建议是创建一个包含以下内容的程序:

import sys
print('\n'.join(sorted(sys.path)))

并从命令行和Eclipse内部运行该命令,以比较可能的不同之处,并相应地修复PyDev上的配置。

您安装了CUDA版本8吗?如果是这样,您的所有LIB都应该位于/usr/local/cuda/lib64/libcuda*中,那么您可能必须运行ldconfig来更新共享库缓存,以便tensorflow可以找到已安装的itcuda8、cudnn5。我检查了安装,看起来不错。我可以运行一些tensorflow项目。有些项目不在tensorflow gpu版本上运行,但在tensorflow cpu上运行良好。我知道gpu版本似乎不稳定。我没问题。我试图找出为什么Eclipse不适用于tensorflow gpu v1.0,并告诉我错误。运行ls/usr/local/cuda/lib64/你得到了什么?然后制作并运行两个cuda8 samples@/usr/local/cuda/samples/1_实用程序,这些实用程序将使用libcudart并确保它们运行。如果它们不运行,则说明您的安装不正确,Eclipse将找不到它。ls/usr/local/cuda/lib64/。找到libcudart.so/usr/local/cuda/samples/1_实用程序/带宽测试美元/带宽测试。它运行正常。Eclipse不工作,只有Tensorflow GPU v1.0,Python3.5。对于Tensorflow CPU,Eclipse为我确定。在原始帖子中添加了详细的错误消息。感谢您的回复。如何添加它?我只知道项目工作区下的.project文件。1我尝试手动将“/usr/local/cuda/lib64”添加到PyDev解释器/语法配置->python解释器:底部部分:库PYTHONPATH。2添加'/usr/local/cuda/lib64'PyDev PYTHONPATH:外部库。但是,两者都不起作用。我添加了一个屏幕截图。。。这和你现在做的相符吗?我在设置中没有看到语法配置是。这正是我所做的,我在我的机器上看到了与屏幕截图相同的配置。不工作。我重启了机器,还是不工作。这对你有用吗?我贴了一张我的Eclipse运行命令的屏幕截图,TF GPU正在工作…打开GPU并报告设备准备好了。你能运行pip freeze | grep tensorflow。。。我在我的电脑上显示:tensorflow gpu==1.0.0pip freeze | grep tensorflow显示:tensorflow gpu==1.0.0。但是Eclipse不适合我。您的屏幕截图显示GPU正在工作。让我再挖一点。真的很感谢你的截图,我想这是我的问题,它应该能工作。如果切换到CPU Tensoflow,它会立即对我起作用。感谢您强调这可能与sudo有关,sudo具有重置环境和设置安全路径的默认策略。此行为在/etc/sudoers中定义:我尝试过。Eclipse、终端、笔记本,都输出相同的环境。但是,Eclipse仍然不起作用。在Eclipse中,我在设置解释器时将/usr/local/cuda/lib64添加到“库”中。顺便说一句,这是新的蟒蛇环境,“蟒蛇名单”sh
ows tensorflow gpu 1.0.11创建了virtualenv python3.5 tensorflow gpu。Eclipse和Anaconda env有同样的问题。终端工作,Eclipse不工作。法比奥·扎德罗兹尼建议用两行文字。Terminal和Eclipse输出相同,Eclipse有额外的:/usr/local/cuda-8.0/lib64/usr/local/cuda/lib64,这是我添加的,希望Eclipse使用目录来解决ImportError:libcudart.so.8.0:无法打开共享对象文件:没有这样的文件或目录。仍然不起作用。尝试执行以下操作:创建virtualenv,激活它,在激活virtualenv的情况下从同一个shell启动eclipse,并检查它是否起作用。Fabio,感谢您的重播。如何从终端启动eclipse。我有:~/eclipse/jee neon/eclipse$ls配置dropins eclipse.ini icon.xpm插件readmeJust execute./eclipse
import sys
print('\n'.join(sorted(sys.path)))