list_local_device tensorflow does not detect gpu

懵懂的女人 提交于 2020-05-26 03:40:52

问题


  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?


回答1:


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 .




回答2:


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.




回答3:


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()



回答4:


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.




回答5:


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.



来源:https://stackoverflow.com/questions/47871236/list-local-device-tensorflow-does-not-detect-gpu

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!