TensorFlow serving –сервер для развертывания TensorFlow — моделей нейронных сетей с поддержкой батчинга, версионности, обработки параллельных запросов.
TensorFlow Serving — серверная архитектура для развёртывания и обслуживания моделей ML в продуктивной среде. TensorFlow Serving делает легким процесс развертывания новых алгоритмов и экспериментов, при сохранении той же серверной архитектуры и API. TensorFlow Serving обеспечивает прозрачную интеграцию «из коробки» с моделями TensorFlow, так и возможностями по расширению другими типами моделей и данных.
Листинг команд:
- mkdir /tmp/resnet #создаем дирректорию.
- curl -s https://storage.googleapis.com/download.tensorflow.org/models/official/20181001_resnet/savedmodels/resnet_v2_fp32_savedmodel_NHWC_jpg.tar.gz | tar —strip-components=2 -C /tmp/resnet -xvz #копируем архив с моделью по ссылке в созданную директорию и разархивируем его.
- docker pull tensorflow/serving #загружаем docker образ с tensorflow serving.
- docker run -p 8501:8501 —name tfserving_resnet \
—mount type=bind,source=/tmp/resnet,target=/models/resnet \
-e MODEL_NAME=resnet -t tensorflow/serving & #монтируем контейнер из загруженного образа с доступом через порт 8501
- curl -o /tmp/resnet/resnet_client.py https://raw.githubusercontent.com/tensorflow/serving/master/tensorflow_serving/example/resnet_client.py
#загружаем скрипт для обращения к запущенному серверу.
- python /tmp/resnet/resnet_client.py #выполняем загруженный скрипт, получаем ответ от модели.