【问题标题】:Unable to import tensorflow in Jupyter notebook无法在 Jupyter 笔记本中导入 tensorflow
【发布时间】:2018-07-30 19:28:12
【问题描述】:

我正在运行 Ubuntu 16.04.3 LTS 亚马逊深度学习 AMI。我正在使用内置的 tensorflow_p36 (python 3.6) 虚拟环境。

我尝试了以下命令来检查安装是否正常。得到了this question's answers的提示。

(tensorflow_p36) ubuntu@ip:~/Notebooks$ which python
/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/python
(tensorflow_p36) ubuntu@ip:~/Notebooks$ which ipython
/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/ipython
(tensorflow_p36) ubuntu@ip:~/Notebooks$ which jupyter
/home/ubuntu/anaconda3/envs/tensorflow_p36/bin/jupyter

当我在终端中使用 python 导入 tensorflow 时,它工作得很好,但是当我在 Jupyter notebook 中导入它时,我收到以下错误:

---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)
~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py in <module>()
     57 
---> 58   from tensorflow.python.pywrap_tensorflow_internal import *
     59   from tensorflow.python.pywrap_tensorflow_internal import __version__

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in <module>()
     27             return _mod
---> 28     _pywrap_tensorflow_internal = swig_import_helper()
     29     del swig_import_helper

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py in swig_import_helper()
     23             try:
---> 24                 _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
     25             finally:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py in load_module(name, file, filename, details)
    242         else:
--> 243             return load_dynamic(name, filename, file)
    244     elif type_ == PKG_DIRECTORY:

~/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py in load_dynamic(name, path, file)
    342             name=name, loader=loader, origin=path)
--> 343         return _load(spec)
    344 

ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

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

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/__init__.py in <module>()
     22 
     23 # pylint: disable=wildcard-import
---> 24 from tensorflow.python import *
     25 # pylint: enable=wildcard-import
     26 

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/__init__.py in <module>()
     47 import numpy as np
     48 
---> 49 from tensorflow.python import pywrap_tensorflow
     50 
     51 # Protocol buffers

~/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.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 # pylint: enable=wildcard-import,g-import-not-at-top,unused-import,line-too-long

ImportError: Traceback (most recent call last):
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in <module>
    from tensorflow.python.pywrap_tensorflow_internal import *
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in <module>
    _pywrap_tensorflow_internal = swig_import_helper()
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 24, in swig_import_helper
    _mod = imp.load_module('_pywrap_tensorflow_internal', fp, pathname, description)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py", line 243, in load_module
    return load_dynamic(name, filename, file)
  File "/home/ubuntu/anaconda3/envs/tensorflow_p36/lib/python3.6/imp.py", line 343, in load_dynamic
    return _load(spec)
ImportError: libcublas.so.8.0: cannot open shared object file: No such file or directory


Failed to load the native TensorFlow runtime.

See https://www.tensorflow.org/install/install_sources#common_installation_problems

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

有人可以帮我解决这个错误吗?

【问题讨论】:

    标签: python tensorflow amazon-ec2 jupyter-notebook


    【解决方案1】:

    当我尝试在我的 Jupyter 笔记本上运行支持 GPU 的 Tensorflow 时,我遇到了同样的问题。我必须解决两件事,也许它们对你也有帮助。

    Jupyter 内核

    确保您的 jupyter 内核与您希望运行的 venv/python 环境相同。你可以通过运行找到它

    $ jupyter kernelspec list
    

    如果不是(我的指向 .local/share/jupyter/kernels/),那么有两种方法可以修复它。

    1) 您可以编辑 kernel.json 文件以指向您想要的 python:

    $ vim jupyter/kernels/python2/kernel.json
    

    2) 您可以通过运行以下命令从 venv 中删除默认内核:

    $ jupyter kernelspec remove python2
    

    这将默认在您的 venv 上使用所需的 python。

    Tensorflow 设置错误

    pywrap 导入错误是 knwon issue.。因为我不想干预我的安装(因为它在 python CLI 上运行良好,但在 Jupyter 上却不行),唯一对我有用的建议是:

    $ export PBR_VERSION=<your pbr version number>
    

    这似乎是 mock 的 setup.cfg 的问题,可能会在以后的版本中解决。

    最后,确保将 tensorflow-gpu 添加到您的系统路径中

    祝你好运!

    【讨论】:

      猜你喜欢
      • 2018-11-08
      • 1970-01-01
      • 1970-01-01
      • 2020-01-04
      • 1970-01-01
      • 2017-02-15
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多