2017-06-05 3 views
2

Ich mache einige NLP Arbeit und es gibt Modelle von Tensorflow trainiert. Ich stelle einige APIs zur Verfügung, um Wortschnitt mit diesen Modellen durchzuführen und die Anfragen über Sellery zu versenden.wie Tensorflow-Modell in verschiedenen Sellerie Task Worker teilen

Der Fall ist:

Sellerie versenden Aufgaben an verschiedene Arbeitnehmer (etwa 4-5) damit jeder Arbeitnehmer hat die Modelle oben und damit die Speicher zu laden, wird eine Menge eingenommen werden.

Also irgendwelche Möglichkeiten, die Modelle unter den Arbeitern zu teilen? Ich weiß nicht wirklich über den zugrunde liegenden Mechanismus von Sellerie Arbeiter.

Dank

+0

Sie können sich [Tensorflow-Serving] (https://www.tensorflow.org/serving/) ansehen, das Ihrem Modell als gRPC-API dient. Es unterstützt [batching] (https://github.com/tensorflow/serving/blob/master/tensorflow_serving/batching/README.md), was sich anhört wie das, was Sie versuchen zu tun. Wenn Sie aus irgendeinem Grund wirklich Sellerie benötigen (z. B. wenn Sie diese Aufgaben im Hintergrund ausführen), können Sie die Tensorflow-Serving-API einfach von Sellerie-Aufgaben aus aufrufen. – geniass

+0

@geniass Vielen Dank für Ihre Antwort !! Eigentlich sollte ich über die Verwendung von Tensorflow Serving für die zukünftige Bereitstellung von Modellen nachdenken. Die asynchronen Sellerie-Aufgaben werden auf dem Client verwendet, daher erstelle ich eine ** Singleton ** -Klasse und eine Funktion darin, die die Modelle auf dem Server lädt, um sicherzustellen, dass diese Modelle nur einmal geladen werden können. Es funktioniert, aber ich bin mir nicht sicher, ob die Lösung gut genug ist. Ich werde versuchen, zu dienen, um die Leistung zu bestimmen. Danke noch einmal. – aforwardz

+0

Ja, ich habe das gleiche getan, um Fackel-Modelle zu servieren, aber da dies die automatische Stapelverarbeitung nicht unterstützt, bin ich mir ziemlich sicher, dass Sie mit der TF-Portion viel bessere Leistung erzielen können. Ich werde meinen Kommentar eine Antwort geben, damit Sie diese Frage schließen können. – geniass

Antwort

0

Sie konnten einen Blick auf Tensorflow Serving haben, die Ihr Modell als gRPC API dient. Es unterstützt batching was klingt wie Sie versuchen zu tun. Wenn Sie aus irgendeinem Grund wirklich Sellerie benötigen (z. B. wenn Sie diese Aufgaben im Hintergrund ausführen), können Sie die Tensorflow-Serving-API einfach von Sellerie-Aufgaben aus aufrufen.

+0

Ich versuche mein Modell in tf Serving zu implementieren. Ich schaue durch das Dokument und es hat scheinbar schon etwas erreicht, was ich will. Dank bro. – aforwardz

Verwandte Themen