TensorFlow Serving — это гибкая, высокопроизводительная система обслуживания моделей машинного обучения, предназначенная для производственных сред. Он занимается аспектом машинного обучения, получением моделей после обучения и управлением их сроком службы, предоставлением клиентам версионного доступа через высокопроизводительную справочную таблицу с подсчетом ссылок. TensorFlow Serving обеспечивает готовую интеграцию с моделями TensorFlow, но может быть легко расширен для обслуживания других типов моделей и данных.
Отметим несколько особенностей:
# 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] }
Обратитесь к официальному сайту документации Tensorflow для получения полного руководства по обучению и обслуживанию модели Tensorflow.
Самый простой и понятный способ использования TensorFlow Serving — с изображениями Docker. Мы настоятельно рекомендуем этот путь, если у вас нет особых потребностей, которые не решаются запуском в контейнере.
Чтобы использовать модель Tensorflow, просто экспортируйте SavedModel из вашей программы Tensorflow. SavedModel — это независимый от языка, восстанавливаемый, герметичный формат сериализации, который позволяет системам и инструментам более высокого уровня создавать, использовать и преобразовывать модели TensorFlow.
Подробные инструкции по экспорту сохраненных моделей см. в документации Tensorflow.
Архитектура Tensorflow Serving является модульной. Вы можете использовать некоторые части по отдельности (например, пакетное планирование) и/или расширять их для обслуживания новых вариантов использования.
Если вы хотите внести свой вклад в TensorFlow Serving, обязательно ознакомьтесь с правилами внесения вклада.
Пожалуйста, посетите официальный сайт TensorFlow для получения дополнительной информации.