【问题标题】:Tensorflow CUDA GTX 1070 import errorTensorflow CUDA GTX 1070 导入错误
【发布时间】:2023-03-04 16:09:01
【问题描述】:

我正在尝试安装支持 CUDA 的 Tensorflow。这是我的规格:

  • NVIDIA GTX 1070
  • CUDA 7.5
  • Cudnn v5.0

我已经通过 pip 安装安装了 Tensorflow ——所以我想你的答案是从源代码安装,但我想确保没有快速修复。

错误是:

volcart@volcart-Precision-Tower-7910:~$ python
Python 2.7.10 (default, Oct 14 2015, 16:09:02) 
[GCC 5.2.1 20151010] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locally
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/__init__.py", line 23, in <module>
    from tensorflow.python import *
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/__init__.py", line 98, in <module>
    from tensorflow.python.platform import test
  File "/usr/local/lib/python2.7/dist-packages/tensorflow/python/platform/test.py", line 77, in <module>
    import mock                # pylint: disable=g-import-not-at-top,unused-import
  File "/usr/local/lib/python2.7/dist-packages/mock/__init__.py", line 2, in <module>
    import mock.mock as _mock
  File "/usr/local/lib/python2.7/dist-packages/mock/mock.py", line 71, in <module>
    _v = VersionInfo('mock').semantic_version()
  File "/usr/local/lib/python2.7/dist-packages/pbr/version.py", line 460, in semantic_version
    self._semantic = self._get_version_from_pkg_resources()
  File "/usr/local/lib/python2.7/dist-packages/pbr/version.py", line 447, in _get_version_from_pkg_resources
    result_string = packaging.get_version(self.package)
  File "/usr/local/lib/python2.7/dist-packages/pbr/packaging.py", line 725, in get_version
    raise Exception("Versioning for this project requires either an sdist"
Exception: Versioning for this project requires either an sdist tarball, or access to an upstream git repository. Are you sure that git is installed?

我正在从主目录运行 python 控制台,而不是在 Tensorflow 目录中。

GIT 和 CUDA 均已安装:

volcart@volcart-Precision-Tower-7910:~$ git --version
git version 2.5.0
volcart@volcart-Precision-Tower-7910:~$ nvcc -V
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2015 NVIDIA Corporation
Built on Tue_Aug_11_14:27:32_CDT_2015
Cuda compilation tools, release 7.5, V7.5.17

我通过此测试验证了 CUDA 功能正常(发现 here):

/usr/local/cuda/bin/cuda-install-samples-7.5.sh ~/cuda-samples
cd ~/cuda-samples/NVIDIA*Samples
make -j $(($(nproc) + 1))

Tensorflow 安装成功:

export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whl
sudo -H pip install --upgrade $TF_BINARY_URL

我的 GPU 似乎没问题:

volcart@volcart-Precision-Tower-7910:~$ nvidia-smi
Thu Aug  4 17:31:47 2016       
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 367.35                 Driver Version: 367.35                    |
|-------------------------------+----------------------+----------------------+
| GPU  Name        Persistence-M| Bus-Id        Disp.A | Volatile Uncorr. ECC |
| Fan  Temp  Perf  Pwr:Usage/Cap|         Memory-Usage | GPU-Util  Compute M. |
|===============================+======================+======================|
|   0  GeForce GTX 1070    Off  | 0000:03:00.0      On |                  N/A |
|  0%   41C    P8    12W / 185W |    499MiB /  8104MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID  Type  Process name                               Usage      |
|=============================================================================|
|    0       900    G   /usr/bin/X                                     272MiB |
|    0      1679    G   compiz                                         154MiB |
|    0      2287    G   ...s-passed-by-fd --v8-snapshot-passed-by-fd    69MiB |
+-----------------------------------------------------------------------------+

【问题讨论】:

  • 也许可以试试pip install --upgrade setuptools
  • requirement already up to date
  • 听起来像是某种版本不匹配,也许尝试在新环境中安装 virtualenv?
  • @YaroslavBulatov 你这家伙!谢谢那个有效的人,我不知道为什么,但它有效。我已经为此工作太久了,哈哈。随意写一个答案,我会标记它是正确的
  • @YaroslavBulatov 我尝试更新 setuptools,但没有用。我正在使用 CentOS。我有最新的张量流,1.0.0-rc1。以前用过,现在搞砸了

标签: machine-learning neural-network tensorflow nvidia


【解决方案1】:

它是bug in pbr。错误描述包含导出pbr版本的解决方案:

export PBR_VERSION=X.Y.Z

pbr版本可以通过pbr -v获取。

【讨论】:

  • 这也修复了 Jenkins Job Builder 中的相同错误
  • 我现在也发现了这个问题。有人可以指出解决方案吗?
  • 就是这样。只需导出 pbr 版本就足够了
  • 帮我修好了
  • 我在使用 pyinstaller 分发 tensorflow 时遇到了这个问题,github.com/pyinstaller/pyinstaller/issues/2883,我是在构建 exe 之前还是之后设置 pbr 版本?我已经尝试在一个新的虚拟环境中构建,似乎没有任何影响。
【解决方案2】:

从错误日志中,看起来与 mock 或 pbr 包的某种版本不匹配,可能来自较早的安装。在这种情况下,从源代码构建将无济于事,您需要从头开始安装 Python 依赖项,即通过在新环境中使用 virtualenv install

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-03-05
    • 2016-12-29
    • 1970-01-01
    • 2017-08-30
    • 2019-02-15
    • 1970-01-01
    • 1970-01-01
    • 2023-03-14
    相关资源
    最近更新 更多