TensorFlow Serving ist ein flexibles, leistungsstarkes Bereitstellungssystem für Modelle des maschinellen Lernens, das für Produktionsumgebungen entwickelt wurde. Es befasst sich mit dem Inferenzaspekt des maschinellen Lernens, indem Modelle nach dem Training genommen und ihre Lebensdauer verwaltet werden, wobei Kunden über eine leistungsstarke Nachschlagetabelle mit Referenzzählung versionierter Zugriff bereitgestellt wird. TensorFlow Serving bietet eine sofort einsatzbereite Integration mit TensorFlow-Modellen, kann jedoch problemlos erweitert werden, um andere Arten von Modellen und Daten bereitzustellen.
Um einige Funktionen zu beachten:
# Download the TensorFlow Serving Docker image and repo
docker pull tensorflow/serving
git clone https://github.com/tensorflow/serving
# Location of demo models
TESTDATA= " $( pwd ) /serving/tensorflow_serving/servables/tensorflow/testdata "
# Start TensorFlow Serving container and open the REST API port
docker run -t --rm -p 8501:8501
-v " $TESTDATA /saved_model_half_plus_two_cpu:/models/half_plus_two "
-e MODEL_NAME=half_plus_two
tensorflow/serving &
# Query the model using the predict API
curl -d ' {"instances": [1.0, 2.0, 5.0]} '
-X POST http://localhost:8501/v1/models/half_plus_two:predict
# Returns => { "predictions": [2.5, 3.0, 4.5] }
Auf der offiziellen Tensorflow-Dokumentationsseite finden Sie ein vollständiges Tutorial zum Trainieren und Bereitstellen eines Tensorflow-Modells.
Die einfachste und unkomplizierteste Möglichkeit, TensorFlow Serving zu verwenden, sind Docker-Images. Wir empfehlen diese Route dringend, es sei denn, Sie haben spezielle Anforderungen, die durch die Ausführung in einem Container nicht abgedeckt werden.
Um ein Tensorflow-Modell bereitzustellen, exportieren Sie einfach ein SavedModel aus Ihrem Tensorflow-Programm. SavedModel ist ein sprachneutrales, wiederherstellbares, hermetisches Serialisierungsformat, das es übergeordneten Systemen und Tools ermöglicht, TensorFlow-Modelle zu erstellen, zu nutzen und zu transformieren.
Ausführliche Anweisungen zum Exportieren von SavedModels finden Sie in der Tensorflow-Dokumentation.
Die Architektur von Tensorflow Serving ist hochmodular. Sie können einige Teile einzeln verwenden (z. B. Batch-Scheduling) und/oder erweitern, um neue Anwendungsfälle abzudecken.
Wenn Sie einen Beitrag zu TensorFlow Serving leisten möchten, lesen Sie unbedingt die Beitragsrichtlinien.
Weitere Informationen finden Sie auf der offiziellen TensorFlow-Website.