machine-learning - Tensorflow CUDA GTX 1070 导入错误

标签 machine-learning neural-network tensorflow nvidia

我正在尝试安装支持 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 |
+-----------------------------------------------------------------------------+

最佳答案

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

导出 PBR_VERSION=X.Y.Z

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

关于machine-learning - Tensorflow CUDA GTX 1070 导入错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38777742/

相关文章:

machine-learning - 当我进行许多深度学习实验时何时关闭 SummaryWriter

python - Scikit-learn 如何检查模型(例如 TfidfVectorizer)是否已经适合

python - 创建新的 Conda 环境时出现 PackageNotFoundError

neural-network - 试验人工神经网络有哪些有趣的想法?

python - 如何使用 R reticulate 激活现有的 Python 环境

machine-learning - 如何增加 BERT 句子转换器嵌入的维向量大小

machine-learning - keras 模型中的 NaN 损失

python - 使用 tensorflow 后端测试 keras 中多个类的加权分类交叉熵

python - 没有名为 'tensorflow_probability' 的模块

ruby - 如何使用 Ruby 的 ai4r gem 将神经网络保存到文件?