Keras,张量流在 sublime text 和 spyder 中导入错误,但在命令行中工作
Posted
技术标签:
【中文标题】Keras,张量流在 sublime text 和 spyder 中导入错误,但在命令行中工作【英文标题】:Keras, tensorflow importing error in sublime text and spyder but working in command line 【发布时间】:2019-05-16 07:21:52 【问题描述】:在命令行中,一切似乎都很好。但是当我在 sublime text 或 spyder 中导入 tensorflow 时,会出现以下错误 -
import tensorflow as tf
Traceback(最近一次调用最后一次): 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) 文件“/usr/lib/python3.6/imp.py”,第 243 行,在 load_module return load_dynamic(名称,文件名,文件) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic 返回_load(规格) ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次): 文件“/home/himanshu/Desktop/iii.py”,第 1 行,在 将张量流导入为 tf 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/init.py”,第 24 行,在 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/init.py”,第 49 行,在 从 tensorflow.python 导入 pywrap_tensorflow 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 74 行,在 引发 ImportError(味精) ImportError: Traceback (最近一次调用最后一次): 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) 文件“/usr/lib/python3.6/imp.py”,第 243 行,在 load_module return load_dynamic(名称,文件名,文件) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic 返回_load(规格) ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录
当我导入 keras 时
import keras
以下是错误
使用 TensorFlow 后端。 回溯(最近一次通话最后): 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) 文件“/usr/lib/python3.6/imp.py”,第 243 行,在 load_module return load_dynamic(名称,文件名,文件) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic 返回_load(规格) ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次): 文件“/home/himanshu/Desktop/iii.py”,第 1 行,在 导入 keras 文件“/usr/local/lib/python3.6/dist-packages/keras/init.py”,第 3 行,在 从 。导入实用程序 文件“/usr/local/lib/python3.6/dist-packages/keras/utils/init.py”,第 6 行,在 从 。导入 conv_utils 文件“/usr/local/lib/python3.6/dist-packages/keras/utils/conv_utils.py”,第 9 行,在 from .. 将后端导入为 K 文件“/usr/local/lib/python3.6/dist-packages/keras/backend/init.py”,第 89 行,在 从 .tensorflow_backend 导入 * 文件“/usr/local/lib/python3.6/dist-packages/keras/backend/tensorflow_backend.py”,第 5 行,在 将张量流导入为 tf 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/init.py”,第 24 行,在 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/init.py”,第 49 行,在 从 tensorflow.python 导入 pywrap_tensorflow 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 74 行,在 引发 ImportError(味精) ImportError: Traceback (最近一次调用最后一次): 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow.py”,第 58 行,在 从 tensorflow.python.pywrap_tensorflow_internal 导入 * 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 28 行,在 _pywrap_tensorflow_internal = swig_import_helper() 文件“/usr/local/lib/python3.6/dist-packages/tensorflow/python/pywrap_tensorflow_internal.py”,第 24 行,在 swig_import_helper _mod = imp.load_module('_pywrap_tensorflow_internal', fp, 路径名, 描述) 文件“/usr/lib/python3.6/imp.py”,第 243 行,在 load_module return load_dynamic(名称,文件名,文件) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic 返回_load(规格) ImportError:libcublas.so.9.0:无法打开共享对象文件:没有这样的文件或目录
无法加载原生 TensorFlow 运行时。
注意 - 我在我的 python 包中使用 pip 而不是 conda
【问题讨论】:
似乎您的 IDE 使用的环境与命令行不同。你可以从命令行 python 和 Spyder 或 Sublime 的 python 中执行import sys; print(sys.executable)
吗?
同理-"/usr/bin/python3"
哦,我明白了。它找不到 cublas 库。这表明 lib 路径存在差异。你能在你的各种python版本中再次运行import os; print(os.environ['LD_LIBRARY_PATH'])
吗?
这是在控制台上运行时的输出 - usr/local/cuda/lib64:
这是 Spyder - Traceback 的输出(最近一次调用最后一次):文件“这通常发生在使用不同路径安装多个版本的 python 时。您可以通过打开 IDLE 终端并使用来检查是否有多个安装
import sys
sys.version
sys.path
这些命令将打印系统 PATH 和当前 python 实例的版本。在 IDLE 和命令行终端中都使用它来查看各自的不同之处。一旦你知道哪个版本是你想要的,然后删除另一个。您也可以删除所有 python 实例,然后重新安装一个干净的 python 环境,但是您必须使用 pip 重新安装所有模块。
【讨论】:
以上是关于Keras,张量流在 sublime text 和 spyder 中导入错误,但在命令行中工作的主要内容,如果未能解决你的问题,请参考以下文章