我正在尝试安装支持CUDA的Tensorflow。以下是我的配置:
- NVIDIA GTX 1070
- CUDA 7.5
- Cudnn v5.0
我通过pip
安装了Tensorflow —— 所以我猜你的答案可能是建议从源代码安装,但我希望确认是否有快速解决方案。
错误信息如下:
volcart@volcart-Precision-Tower-7910:~$ pythonPython 2.7.10 (default, Oct 14 2015, 16:09:02) [GCC 5.2.1 20151010] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import tensorflow as tfI tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcublas.so locallyI tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcudnn.so locallyI tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcufft.so locallyI tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcuda.so.1 locallyI tensorflow/stream_executor/dso_loader.cc:108] successfully opened CUDA library libcurand.so locallyTraceback (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 --versiongit version 2.5.0volcart@volcart-Precision-Tower-7910:~$ nvcc -Vnvcc: NVIDIA (R) Cuda compiler driverCopyright (c) 2005-2015 NVIDIA CorporationBuilt on Tue_Aug_11_14:27:32_CDT_2015Cuda compilation tools, release 7.5, V7.5.17
我通过这个测试(在这里找到)验证了CUDA的功能性:
/usr/local/cuda/bin/cuda-install-samples-7.5.sh ~/cuda-samplescd ~/cuda-samples/NVIDIA*Samplesmake -j $(($(nproc) + 1))
Tensorflow成功安装:
export TF_BINARY_URL=https://storage.googleapis.com/tensorflow/linux/gpu/tensorflow-0.10.0rc0-cp27-none-linux_x86_64.whlsudo -H pip install --upgrade $TF_BINARY_URL
我的GPU似乎运行正常:
volcart@volcart-Precision-Tower-7910:~$ nvidia-smiThu 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 |+-----------------------------------------------------------------------------+
回答:
从错误日志来看,似乎是mock或pbr包的版本不匹配,可能是因为之前的安装。在这种情况下,从源代码构建并不会解决问题,你需要从头开始安装Python依赖项,即在新的虚拟环境中使用virtualenv安装。