2016-07-13 12 views
8

Ich versuche Distributed Tensorflow auf einem EMR/EC2-Cluster auszuführen, aber ich weiß nicht, wie Sie verschiedene Instanzen im Cluster angeben, um Teile des Codes auszuführen.Wie wird TensorFlow in einem AWS-Cluster ausgeführt?

In der Dokumentation haben sie tf.device("/gpu:0") verwendet, um eine GPU anzugeben. Aber was, wenn ich eine Master-CPU und 5 verschiedene Slave-GPU-Instanzen in einem EMR-Cluster habe und diese GPUs angeben möchte, um Code auszuführen? Ich kann tf.device() mit den öffentlichen DNS-Namen der Instanzen nicht eingeben, da es einen Fehler gibt, der besagt, dass der Name nicht aufgelöst werden kann.

Antwort

0

Seit Ihrer Frage hat AWS einen Code veröffentlicht, der die Verwendung von verteilten TensorFlow auf einem EC2-Cluster erleichtert.

Siehe hierzu github repository. Alles ist in der README.md beschrieben, aber die kurze Geschichte ist, dass, es wird ein AWS mit

  • Sicherheitsgruppen
  • Elastic File System
  • EC2-Instanzen mit der AWS-Stack erstellen deeplearning AMI und der EFS montiert auf ihnen,
  • Die EC2-Instanzen werden so konfiguriert, dass Sie problemlos einen verteilten Tensorflow-Lauf ausführen können, indem Sie einen Befehl auf dem Master-Knoten ausführen (siehe Abschnitt Distributed Training auf TensorFlow ausführen).
Verwandte Themen