2017-07-05 3 views
0

Ich habe einen Code in Tensorflow geschrieben, die ich auf CPUs laufen und es läuft gut. Ich übertrage auf eine neue Maschine mit GPUs und ich starte den Code auf der neuen Maschine, aber die Trainingsgeschwindigkeit hat sich nicht wie erwartet verbessert (dauert fast die gleiche Zeit).Erkennt Tensorflow GPU automatisch oder muss ich es manuell angeben?

Ich habe verstanden, dass Tensorflow GPUs automatisch erkennt und führen Sie die Operationen auf sie (https://www.quora.com/How-do-I-automatically-put-all-my-computation-in-a-GPU-in-TensorFlow) & (https://www.tensorflow.org/tutorials/using_gpu).

Muss ich den Code ändern, damit er die Operationen auf GPUs manuell ausführt (für jetzt habe ich eine einzige GPU)? und was würde gewonnen werden, wenn man das manuell macht?

Dank

+0

Zusätzlich zu @Nicolas Antwort, indem Sie 'sess = tf.Session (config = tf.ConfigProto (log_device_placement = True))' Sie können überprüfen, zu welchem ​​Gerät jeder Knoten zugeordnet ist. –

Antwort

0

Wenn die GPU-Version von TensorFlow installiert ist und wenn Sie einige von ihnen nicht alle Tensoren CPU zuweisen, sollten GPU zugeordnet werden.

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

In Bezug auf die Frage der Leistung, es ist ein sehr weites Feld, und es hängt wirklich von Ihrem Modell:

Um welche Geräte (CPU, GPU) herauszufinden TensorFlow verfügbar sind, können Sie diese verwenden , Ihre Daten und so weiter. Here sind ein paar und weite Bemerkungen zur TensorFlow-Leistung.

+0

Ja, die GPU-Version ist installiert. Aber würde ich etwas gewinnen, wenn ich das Zuweisen manuell machen würde? – user7631183

+0

Sie können gewinnen .. oder nicht. Es hängt wirklich von Ihrem Modell, den Operationen usw. ab. – npf

Verwandte Themen