Ist es in Distributed TensorFlow möglich, dieselbe Warteschlange für verschiedene Worker zu verwenden?

8

In TensorFlow möchte ich eine Dateinamenwarteschlange für verschiedene Worker auf verschiedenen Computern bereitstellen, sodass jeder Computer eine Untermenge von zu erstellenden Dateien abrufen kann. Ich habe viel gesucht und es scheint, dass nur Variablen auf eine PS-Aufgabe gesetzt werden können, die geteilt werden soll. Hat jemand ein Beispiel? Danke.

    
kopopt 19.09.2016, 17:03
quelle

1 Antwort

16

Es ist möglich, dieselbe Warteschlange für Worker freizugeben, indem Sie beim Erstellen der Warteschlange das optionale Argument shared_name festlegen. Genau wie bei tf.Variable -Objekten können Sie die Warteschlange auf jedem Gerät platzieren, auf das von verschiedenen Arbeitern zugegriffen werden kann. Zum Beispiel:

%Vor%

Einige Anmerkungen:

  • Der Wert für shared_name muss für die bestimmte Warteschlange, die Sie freigeben, eindeutig sein. Unglücklicherweise verwendet die Python-API zur Zeit keine Scoping- oder automatische Namenszuordnung, um dies zu vereinfachen. Sie müssen dies also manuell sicherstellen.

  • Sie müssen die Warteschlange nicht auf einem Parameterserver platzieren. Eine mögliche Konfiguration wäre, einen zusätzlichen "Eingabejob" einzurichten (z. B. "/job:input" ), der eine Gruppe von Aufgaben enthält, die eine Vorverarbeitung durchführen, und eine freigegebene Warteschlange für die zu verwendenden Worker zu exportieren.

mrry 19.09.2016, 17:57
quelle

Tags und Links