Skip to main content
 首页 » 编程设计

python之使用 cuda 10 安装 pip tensorflow-gpu 后出错

2025年05月04日41lhb25

如果 tensorflow-gpu 在 cpu 上运行时出现错误代码,我只想使用 conda 版本中的 pip 版本的 tensorflow,这是不可取的。

在为 ubuntu 18.0.4 安装 cuda 10 和 cudnn 后,当我导入 tensorflow 时,出现以下错误。

PS:我清除了与 cuda 和 Nvidia 相关的所有内容,然后安装了新的 Cuda 10。

Python 3.6.7 |Anaconda custom (64-bit)| (default, Oct 23 2018, 19:16:44) [GCC 7.3.0] on linux Type "help", "copyright", "credits" or "license" for more information.

>>> import tensorflow

Traceback (most recent call last): File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in from tensorflow.python.pywrap_tensorflow_internal import * File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in _pywrap_tensorflow_internal = swig_import_helper() File "/home/purav/anaconda3/envs/purav/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/purav/anaconda3/envs/purav/lib/python3.6/imp.py", line 243, in load_module return load_dynamic(name, filename, file) File "/home/purav/anaconda3/envs/purav/lib/python3.6/imp.py", line 343, in load_dynamic return _load(spec) ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

在处理上述异常的过程中,又发生了一个异常:

Traceback (most recent call last): File "", line 1, in File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/init.py", line 24, in from tensorflow.python import pywrap_tensorflow # pylint: disable=unused-import File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/python/init.py", line 49, in from tensorflow.python import pywrap_tensorflow File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 74, in raise ImportError(msg) ImportError: Traceback (most recent call last): File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow.py", line 58, in from tensorflow.python.pywrap_tensorflow_internal import * File "/home/purav/anaconda3/envs/purav/lib/python3.6/site-packages/tensorflow/python/pywrap_tensorflow_internal.py", line 28, in _pywrap_tensorflow_internal = swig_import_helper() File "/home/purav/anaconda3/envs/purav/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/purav/anaconda3/envs/purav/lib/python3.6/imp.py", line 243, in load_module return load_dynamic(name, filename, file) File "/home/purav/anaconda3/envs/purav/lib/python3.6/imp.py", line 343, in load_dynamic return _load(spec) ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory
ImportError: libcublas.so.9.0: cannot open shared object file: No such file or directory

我不知道为什么会出现这个错误我没有cuda verison 9

请您参考如下方法:

可通过 pip 获得的 tensorflow-gpu 的当前稳定版本是 v1.12,它是针对 CUDA 9.0 构建的。如果您查看问题编号 22706在 tensorflow github 存储库中,即将发布的 tensorflow-gpu v1.13 的官方二进制文件预计将针对 CUDA 10 构建。

截至 2019 年 1 月 23 日,rc0 version of tensorflow-gpu v1.13已经发布,它是针对 CUDA 10 构建的。可以使用 pip 指定版本来安装它,如下所示:

pip install tensorflow-gpu==1.13.0rc0

由于您系统中的 CUDA 9 已被 CUDA 10 取代,默认的 tensorflow-gpu 代码失败,因为它是 1.12 版本并且期望系统中存在 CUDA 9 二进制文件。因此,目前,如果您想将 tensorflow 与 CUDA 10 一起使用,那么最快的解决方案是按照上面指定的方式升级您的 tensorflow 版本。