TensorFlow Serving es un sistema de servicio flexible y de alto rendimiento para modelos de aprendizaje automático, diseñado para entornos de producción. Se ocupa del aspecto de inferencia del aprendizaje automático, tomando modelos después del entrenamiento y administrando su vida útil, brindando a los clientes acceso versionado a través de una tabla de búsqueda de alto rendimiento con recuento de referencias. TensorFlow Serving proporciona integración inmediata con los modelos de TensorFlow, pero se puede ampliar fácilmente para ofrecer otros tipos de modelos y datos.
Para observar algunas características:
# 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] }
Consulte el sitio de documentación oficial de Tensorflow para obtener un tutorial completo para entrenar y servir un modelo de Tensorflow.
La forma más sencilla y directa de utilizar TensorFlow Serving es con imágenes de Docker. Recomendamos encarecidamente esta ruta a menos que tenga necesidades específicas que no se aborden mediante la ejecución en un contenedor.
Para servir un modelo de Tensorflow, simplemente exporte un modelo guardado desde su programa Tensorflow. SavedModel es un formato de serialización hermético, recuperable y de lenguaje neutro que permite que sistemas y herramientas de nivel superior produzcan, consuman y transformen modelos de TensorFlow.
Consulte la documentación de Tensorflow para obtener instrucciones detalladas sobre cómo exportar SavedModels.
La arquitectura de Tensorflow Serving es altamente modular. Puede utilizar algunas partes individualmente (por ejemplo, programación por lotes) y/o ampliarlas para atender nuevos casos de uso.
Si desea contribuir a TensorFlow Serving, asegúrese de revisar las pautas de contribución.
Consulte el sitio web oficial de TensorFlow para obtener más información.