O TensorFlow Serving é um sistema de atendimento flexível e de alto desempenho para modelos de machine learning, projetado para ambientes de produção. Ele lida com o aspecto de inferência do aprendizado de máquina, pegando modelos após o treinamento e gerenciando seus tempos de vida, fornecendo aos clientes acesso versionado por meio de uma tabela de pesquisa de alto desempenho com contagem de referências. O TensorFlow Serving oferece integração pronta para uso com modelos do TensorFlow, mas pode ser facilmente estendido para servir outros tipos de modelos e dados.
Para observar alguns recursos:
# 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 o site oficial de documentação do Tensorflow para obter um tutorial completo para treinar e servir um modelo do Tensorflow.
A maneira mais fácil e direta de usar o TensorFlow Serving é com imagens Docker. É altamente recomendável essa rota, a menos que você tenha necessidades específicas que não sejam atendidas pela execução em um contêiner.
Para servir um modelo Tensorflow, basta exportar um SavedModel do seu programa Tensorflow. SavedModel é um formato de serialização hermético, recuperável e de linguagem neutra que permite que sistemas e ferramentas de nível superior produzam, consumam e transformem modelos do TensorFlow.
Consulte a documentação do Tensorflow para obter instruções detalhadas sobre como exportar SavedModels.
A arquitetura do Tensorflow Serving é altamente modular. Você pode usar algumas partes individualmente (por exemplo, agendamento em lote) e/ou estendê-las para atender novos casos de uso.
Se quiser contribuir com o TensorFlow Serving, revise as diretrizes de contribuição.
Consulte o site oficial do TensorFlow para obter mais informações.