serving
2.18.0
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 模型,只需从 Tensorflow 程序中导出 SavedModel 即可。 SavedModel 是一种语言中立、可恢复、密封的序列化格式,使更高级别的系统和工具能够生成、使用和转换 TensorFlow 模型。
有关如何导出 SavedModel 的详细说明,请参阅 Tensorflow 文档。
Tensorflow Serving 的架构是高度模块化的。您可以单独使用某些部分(例如批量调度)和/或扩展它以服务于新的用例。
如果您想为 TensorFlow Serving 做出贡献,请务必查看贡献指南。
请参阅 TensorFlow 官方网站了解更多信息。