8
votes
  1. Is there way to check I installed GPU version of Tensorflow?
  2. !nvidia-smi

Mon Dec 18 23:58:01 2017

+-----------------------------------------------------------------------------+
| NVIDIA-SMI 384.90                 Driver Version: 384.90                    |
|-------------------------------+----------------------+----------------------+
| 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  | 00000000:01:00.0  On |                  N/A |
| N/A   53C    P0    31W /  N/A |   1093MiB /  8105MiB |      0%      Default |
+-------------------------------+----------------------+----------------------+

+-----------------------------------------------------------------------------+
| Processes:                                                       GPU Memory |
|  GPU       PID   Type   Process name                             Usage      |
|=============================================================================|
|    0      1068      G   /usr/lib/xorg/Xorg                           599MiB |
|    0      2925      G   compiz                                       290MiB |
|    0      3611      G   ...-token=11A9F5872A56620B72D1D5DF707CF1FC   200MiB |
|    0      5786      G   /usr/bin/nvidia-settings                       0MiB |
+-----------------------------------------------------------------------------+

But when I try to detect the list local devices, only CPU got detected.

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

[name: "/cpu:0"
device_type: "CPU"
memory_limit: 268435456
locality {
}
incarnation: 3303842605833347443
]

Do I have to set something else to use the GPU for Keras or Tensorflow?

6
You should have "Cuda 8" installed, and "CuDNN 6.1". And only tensorflow-gpu (not tensorflow). The installation process and tests for cuda and CuDNN are well explained in their site.Daniel Möller
i think alreay done thatkim jake
Can you add the output of pip show tensorflow-gpu and pip show tensorflow to your question?mrry

6 Answers

3
votes

Use pip install tensorflow-gpu or conda install tensorflow-gpu for gpu version of tensorflow. If you are using keras-gpu conda install -c anaconda keras-gpu command will automatically install the tensorflow-gpu version. Before doing these any command make sure that you uninstalled the normal tensorflow .

1
votes

You may need this shell to config your tensorflow-gpu.

You can run this, if you want to check tensorflow-gpu.

import tensorflow as tf
with tf.device('/gpu:0'):
  a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3], name='a')
  b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2], name='b')
  c = tf.matmul(a, b)
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
print sess.run(c)

The official documents: Using GPUs.

1
votes

The simple way using tensorflow is:

from tensorflow.python.client import device_lib
print(device_lib.list_local_devices())

With Keras:

from keras import backend as K
K.tensorflow_backend._get_available_gpus()
0
votes

I have the same problem, but everything was in this page couldn't solve my problem. I decided to update my display adapter. Follow this way:

Control Panel>Device Manager>display adapter>Right click>Update Driver

After that, you must restart your computer, But you should consider that it's not only source of your problem.

0
votes

I ran into the subj when using a proper tensorflow-gpu docker container, and using tensorflow-gpu installed into a virtualenv within the container. Most likely this combination properly shields GPU capabilities, which otherwise are available if running python just in the container without virtualenv.

0
votes

I think that you need to install cuda (it must show up in your nvidia-smi) Did you check compatibility between your cuda/CUDNN version and tensorflow-gpu ? This may help you: https://punndeeplearningblog.com/development/tensorflow-cuda-cudnn-compatibility/