2017-02-16 169 views
1

我正在尝试导入TensorFlow,但最终出现此错误。在Jupyter Notebook中导入TensorFlow GPU时出错

ImportError        Traceback (most recent call last) 
/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/__init__.py in <module>() 
    60  sys.setdlopenflags(_default_dlopen_flags | ctypes.RTLD_GLOBAL) 
---> 61  from tensorflow.python import pywrap_tensorflow 
    62  sys.setdlopenflags(_default_dlopen_flags) 

/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>() 
    27    return _mod 
---> 28  _pywrap_tensorflow = swig_import_helper() 
    29  del swig_import_helper 

/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py in swig_import_helper() 
    23    try: 
---> 24     _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description) 
    25    finally: 

/Users/Aakaash/miniconda3/lib/python3.5/imp.py in load_module(name, file, filename, details) 
    241   else: 
--> 242    return load_dynamic(name, filename, file) 
    243  elif type_ == PKG_DIRECTORY: 

/Users/Aakaash/miniconda3/lib/python3.5/imp.py in load_dynamic(name, path, file) 
    341    name=name, loader=loader, origin=path) 
--> 342   return _load(spec) 
    343 

ImportError: dlopen(/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so, 10): Library not loaded: @rpath/libcudart.8.0.dylib 
    Referenced from: /Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so 
    Reason: image not found 

During handling of the above exception, another exception occurred: 

ImportError        Traceback (most recent call last) 
<ipython-input-7-a649b509054f> in <module>() 
----> 1 import tensorflow 

/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/__init__.py in <module>() 
    22 
    23 # pylint: disable=wildcard-import 
---> 24 from tensorflow.python import * 
    25 # pylint: enable=wildcard-import 
    26 

/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/__init__.py in <module>() 
    70 for some common reasons and solutions. Include the entire stack trace 
    71 above this error message when asking for help.""" % traceback.format_exc() 
---> 72 raise ImportError(msg) 
    73 
    74 # Protocol buffers 

ImportError: Traceback (most recent call last): 
    File "/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/__init__.py", line 61, in <module> 
    from tensorflow.python import pywrap_tensorflow 
    File "/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 28, in <module> 
    _pywrap_tensorflow = swig_import_helper() 
    File "/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/pywrap_tensorflow.py", line 24, in swig_import_helper 
    _mod = imp.load_module('_pywrap_tensorflow', fp, pathname, description) 
    File "/Users/Aakaash/miniconda3/lib/python3.5/imp.py", line 242, in load_module 
    return load_dynamic(name, filename, file) 
    File "/Users/Aakaash/miniconda3/lib/python3.5/imp.py", line 342, in load_dynamic 
    return _load(spec) 
ImportError: dlopen(/Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so, 10): Library not loaded: @rpath/libcudart.8.0.dylib 
    Referenced from: /Users/Aakaash/miniconda3/lib/python3.5/site-packages/tensorflow/python/_pywrap_tensorflow.so 
    Reason: image not found 


Failed to load the native TensorFlow runtime. 

See https://github.com/tensorflow/tensorflow/blob/master/tensorflow/g3doc/get_started/os_setup.md#import_error 

for some common reasons and solutions. Include the entire stack trace 
above this error message when asking for help. 

我能够导入TensorFlow的CPU版本没有问题。我也能够从终端启动的Python控制台中导入TensorFlow。在Console和Jupyter Notebook中,Python可执行文件的路径是相同的(sys.executable在Console和Jupyter Notebook中给出了相同的输出)。

TensorFlow版本 - 1.0.0

Python版本 - 3.5.2

Cuda的版本 - 8.0

+0

这看起来像是一个安装问题,我们跟踪我们的github问题页面。请在那里提交问题。根本问题是您的环境无法找到cuda库。请适当设置'LD_LIBRARY_PATH'。你可以在'_pywrap_tensorflow.so'对象上运行'ldd'来检查你是否正确。 – drpng

+0

好的。我将在Github上提出一个问题。你能告诉我如何正确设置LD_LIBRARY_PATH吗?我对此很陌生,我不知道该怎么做。 –

+0

请按照[安装指南](https://www.tensorflow.org/install/install_linux)进行操作。它有一个指向NVIDIA文档的指针。 – drpng

回答

0

貌似错误是,当我安装CUDA和CuDNN。遵循Nvidia提供的指南,它告诉我为Mac OS X设置DYLD_LIBRARY_PATH的路径。不幸的是,使用Jupyter Notebook时这不起作用。我们需要按照Nvidia指南的Linux步骤并设置LD_LIBRARY_PATH。这解决了这个问题。

0

在我的情况下,启动Jupyter笔记本时,即使在Ubuntu上输出它.bashrc.profileLD_LIBRARY_PATH也被清除。只有启动笔记本服务器env VARIABLE=$VARIABLE jupyter notebook解决了它。