首页 文章

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

提问于
浏览
2

在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 |
+-----------------------------------------------------------------------------+

我已经尝试将“with 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 /变量/读)]]”

我知道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 回答

  • 3

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

相关问题