在 ubuntu18.04 中导入错误 tensorflow-gpu
Posted
技术标签:
【中文标题】在 ubuntu18.04 中导入错误 tensorflow-gpu【英文标题】:Import error tensorflow-gpu in ubuntu18.04 【发布时间】:2019-04-29 00:44:24 【问题描述】:我在导入 tensorflow 时遇到了一些错误。
我的电脑规格:
操作系统:ubuntu 18.04
英伟达 RTX 2080 Ti*2
Nvidia 驱动程序-415
CUDA:10.0
cuDNN:7.3.0 张量流:1.11.0
import tensorflow
错误:
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, pathname, description) 文件“/usr/lib/python3.6/imp.py”,第 243 行, 在 load_module return load_dynamic(name, filename, file) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic return _load(spec) ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
在处理上述异常的过程中,又发生了一个异常:
Traceback(最近一次调用最后一次):文件“”,第 1 行,in 文件 “/usr/local/lib/python3.6/dist-packages/tensorflow/init.py”,行 22,在 from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "/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 行,在 raise ImportError(msg) 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, pathname, description) 文件“/usr/lib/python3.6/imp.py”,第 243 行, 在 load_module return load_dynamic(name, filename, file) 文件“/usr/lib/python3.6/imp.py”,第 343 行,在 load_dynamic return _load(spec) ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
无法加载原生 TensorFlow 运行时。
看 https://www.tensorflow.org/install/install_sources#common_installation_problems
出于一些常见原因和解决方案。包括整个堆栈跟踪 寻求帮助时出现此错误消息。
我已经尝试使用 ubuntu 16.04,但 GPU 不支持。 也不支持安装CUDA9.0 & CUDA9.2。
如何使用 tensorflow-gpu?
我已经在 ~/.bashrc 中应用了路径
export PATH=/usr/local/cuda-10.0/bin$PATH:+:$PATH
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64$LD_LIBRARY_PATH:+:$LD_LIBRARY_PATH
export CUDA_HOME=/usr/local/cuda-10.0
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64
export LD_LIBRARY_PATH=/usr/local/cuda-10.0/lib64$LD_LIBRARY_PATH
【问题讨论】:
你试过用conda安装tensorflow-gpu吗?创建环境后,您可以尝试安装几个 tensorflow-gpu 版本,直到获得一个可以工作的版本,例如conda 安装 tensorflow-gpu、conda 安装 tensorflow-gpu=1.13、conda 安装 tensorflow-gpu=1.12 等 【参考方案1】:tensorflow-gpu
包是针对 Cuda 9.0 构建的,但您安装了 Cuda 10.0。
您需要将您的 Cuda 版本降级到 9.0(但如果我记得,这对于 2080Ti 是不可能的),或者从源代码构建 tensorflow。在tensorflow webiste
上有大量文档说明如何执行此操作您也可以尝试安装包tf-nightly-gpu
。您应该注意,此版本更具实验性,因为它尚未经过广泛测试。
【讨论】:
以上是关于在 ubuntu18.04 中导入错误 tensorflow-gpu的主要内容,如果未能解决你的问题,请参考以下文章
ImportError:无法在 django virtualenv 中导入名称 _remove_dead_weakref