Tensorflow没有在jupyter笔记本中的GPU上运行

时间:2017-06-05 02:06:31

标签: tensorflow python-3.5 jupyter cudnn

在Ubuntu上为GTX 1080 ti成功安装了Cuda和cudnn,在jupyter笔记本中运行一个简单的TF程序,在运行tensorflow-gpu == 1.0 vs tensorflow == 1.0的conda环境中速度不会增加。

当我运行nvidia-smi时:

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 375.66 Driver Version: 375.66 |
|-------------------------------+----------------------+----------------------+
| 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 108... Off | 0000:01:00.0 On | N/A |
| 24% 45C P0 62W / 250W | 537MiB / 11171MiB | 0% Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes: GPU Memory |
| GPU PID Type Process name Usage |
|=============================================================================|
| 0 1101 G /usr/lib/xorg/Xorg 310MiB |
| 0 1877 G compiz 219MiB |
| 0 3184 G /usr/lib/firefox/firefox 5MiB |
+-----------------------------------------------------------------------------+

我尝试将"与tf.device(" / gpu:0")放在一起:"在矩阵乘法的前面,但它只是给我一个错误:

" InvalidArgumentError(参见上面的回溯):无法将设备分配给节点' MatMul':无法满足显式设备规范' / device:GPU:0'因为在此过程中没有注册与该规范匹配的设备;可用设备:/ job:localhost / replica:0 / task:0 / cpu:0 [[Node:MatMul = MatMul [T = DT_FLOAT,transpose_a = false,transpose_b = false,_device =" / device:GPU:0"](重塑,softmax / Variable / read)]]&#34 ;

我知道cudnn安装正确,因为我在终端中运行时收到此消息。

import tensorflow as tf
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcublas.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcudnn.so.5 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcufft.so.8.0 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcuda.so.1 locally
I tensorflow/stream_executor/dso_loader.cc:135] successfully opened CUDA library libcurand.so.8.0 locally

我认为这必须与Jupiter笔记本有关,是否存在兼容性问题?当我运行TF会话时,我得到了这个输出:

W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE3 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.1 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use SSE4.2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use AVX2 instructions, but these are available on your machine and could speed up CPU computations.
W tensorflow/core/platform/cpu_feature_guard.cc:45] The TensorFlow library wasn't compiled to use FMA instructions, but these are available on your machine and could speed up CPU computations.
Device mapping: no known devices.

"""

1 个答案:

答案 0 :(得分:3)

我解决了这个问题。显然我在我的环境之外安装了jupyter和regular tensorflow。然而,我在我的环境中安装了tensorflow-gpu。因此,当我运行jupyter时,它调用环境之外的tensorflow而不是环境中安装的tensorflow-gpu。