TensorFlow Serving est un système de service flexible et hautes performances pour les modèles d'apprentissage automatique, conçu pour les environnements de production. Il traite de l'aspect inférence de l'apprentissage automatique, en prenant des modèles après la formation et en gérant leur durée de vie, en fournissant aux clients un accès versionné via une table de recherche hautes performances avec comptage de références. TensorFlow Serving offre une intégration prête à l'emploi avec les modèles TensorFlow, mais peut être facilement étendu pour servir d'autres types de modèles et de données.
A noter quelques fonctionnalités :
# 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] }
Reportez-vous au site officiel de documentation Tensorflow pour un didacticiel complet permettant de former et de servir un modèle Tensorflow.
La manière la plus simple et la plus directe d'utiliser TensorFlow Serving consiste à utiliser des images Docker. Nous recommandons fortement cette voie, sauf si vous avez des besoins spécifiques qui ne sont pas satisfaits par une exécution dans un conteneur.
Afin de servir un modèle Tensorflow, exportez simplement un SavedModel depuis votre programme Tensorflow. SavedModel est un format de sérialisation hermétique, récupérable et indépendant du langage, qui permet aux systèmes et outils de niveau supérieur de produire, d'utiliser et de transformer des modèles TensorFlow.
Veuillez vous référer à la documentation Tensorflow pour des instructions détaillées sur la façon d'exporter des SavedModels.
L'architecture de Tensorflow Serving est hautement modulaire. Vous pouvez utiliser certaines parties individuellement (par exemple, planification par lots) et/ou l'étendre pour servir de nouveaux cas d'utilisation.
Si vous souhaitez contribuer à TensorFlow Serving, assurez-vous de consulter les consignes de contribution.
Veuillez vous référer au site Web officiel de TensorFlow pour plus d'informations.