En dehors de l'aide sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
ce qui est décrit dans d'autres réponses, aussi bien que dans l'officiel TensorFlow de la documentation, vous pouvez essayer d'attribuer un calcul pour le gpu et de voir si vous avez une erreur.
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)
with tf.Session() as sess:
print (sess.run(c))
Ici
- "/cpu:0": Le PROCESSEUR de votre machine.
- "/gpu:0": Le GPU de votre machine, si vous en avez un.
Si vous avez un gpu et peut l'utiliser, vous verrez le résultat. Sinon, vous verrez une erreur avec une longue stacktrace. En fin de compte, vous aurez quelque chose comme ceci:
Impossible d'assigner un dispositif de nœud 'MatMul': ne Peut pas satisfaire explicite
spécification du périphérique '/appareil:GPU:0", car aucune des dispositifs de couplage qui
cahier des charges sont enregistrés dans ce processus
Récemment, quelques fonctions utiles est apparu en TF:
Vous pouvez également rechercher les périphériques disponibles dans la session:
with tf.Session() as sess:
devices = sess.list_devices()
devices
va vous renvoyer quelque chose comme
[_DeviceAttributes(/job:tpu_worker/replica:0/task:0/device:CPU:0, CPU, -1, 4670268618893924978),
_DeviceAttributes(/job:tpu_worker/replica:0/task:0/device:XLA_CPU:0, XLA_CPU, 17179869184, 6127825144471676437),
_DeviceAttributes(/job:tpu_worker/replica:0/task:0/device:XLA_GPU:0, XLA_GPU, 17179869184, 16148453971365832732),
_DeviceAttributes(/job:tpu_worker/replica:0/task:0/device:TPU:0, TPU, 17179869184, 10003582050679337480),
_DeviceAttributes(/job:tpu_worker/replica:0/task:0/device:TPU:1, TPU, 17179869184, 5678397037036584928)