我正在运行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笔记本中导入它时,我收到以下错误:
---------------------------------------------------------------------------
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.
有人可以帮我解决这个错误吗?
答案 0 :(得分:1)
Jupyter Kernel
确保您的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添加到系统路径
古德勒克!