在 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

ubuntu18.04错误配置变量环境导致无法进入系统

在 django 中导入设置时出现奇怪的错误

在 Ubuntu 上的 python 中导入 OOSheet 时出错

如何在docker中导入ubuntu镜像文件

Ubuntu下python的第三方module无法在pycharm中导入