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.
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:
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.
Tags und Links tensorflow