GV

GeezerVison

The World Wide Web, restored to 800 pixels of glory.

Home|About|Gaming cabinet|Archives|How it works|Starter sites

On this site

  • Sign in
  • ActionsCI/CD and automation
  • CodespacesCloud development environments
  • All Features
  • Documentation
  • Training
  • Certifications
  • Build with Copilot
  • Customize Copilot
  • Integrations
  • Trending repos
  • GitHub Sponsors
  • Developer articles
  • Enterprises

This view

  • Original page
  • New address

GeezerVison is showing github.com — GitHub - tensorflow/serving: A flexible, high-performance serving system for machine learning models

BranchesTags
Open more actions menu

Latest commit

 

History

9,431 Commits
9,431 Commits

Folders and files

NameName
Last commit message
Last commit date
.github
.github
 
 
tensorflow_serving
tensorflow_serving
 
 
third_party
third_party
 
 
tools
tools
 
 
.bazelrc
.bazelrc
 
 
.gitignore
.gitignore
 
 
.gitmodules
.gitmodules
 
 
AUTHORS
AUTHORS
 
 
CONTRIBUTING.md
CONTRIBUTING.md
 
 
LICENSE
LICENSE
 
 
README.md
README.md
 
 
RELEASE.md
RELEASE.md
 
 
WORKSPACE
WORKSPACE
 
 

Repository files navigation

TensorFlow Serving

Ubuntu Build Status Ubuntu Build Status at TF HEAD Docker CPU Nightly Build Status Docker GPU Nightly Build Status


TensorFlow Serving is a flexible, high-performance serving system for machine learning models, designed for production environments. It deals with the inference aspect of machine learning, taking models after training and managing their lifetimes, providing clients with versioned access via a high-performance, reference-counted lookup table. TensorFlow Serving provides out-of-the-box integration with TensorFlow models, but can be easily extended to serve other types of models and data.

To note a few features:

  • Can serve multiple models, or multiple versions of the same model simultaneously
  • Exposes both gRPC as well as HTTP inference endpoints
  • Allows deployment of new model versions without changing any client code
  • Supports canarying new versions and A/B testing experimental models
  • Adds minimal latency to inference time due to efficient, low-overhead implementation
  • Features a scheduler that groups individual inference requests into batches for joint execution on GPU, with configurable latency controls
  • Supports many servables: Tensorflow models, embeddings, vocabularies, feature transformations and even non-Tensorflow-based machine learning models

Serve a Tensorflow model in 60 seconds

# 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] }

End-to-End Training & Serving Tutorial

Refer to the official Tensorflow documentations site for a complete tutorial to train and serve a Tensorflow Model.

Documentation

Set up

The easiest and most straight-forward way of using TensorFlow Serving is with Docker images. We highly recommend this route unless you have specific needs that are not addressed by running in a container.

  • Install Tensorflow Serving using Docker (Recommended)
  • Install Tensorflow Serving without Docker (Not Recommended)
  • Build Tensorflow Serving from Source with Docker
  • Deploy Tensorflow Serving on Kubernetes

Use

Export your Tensorflow model

In order to serve a Tensorflow model, simply export a SavedModel from your Tensorflow program. SavedModel is a language-neutral, recoverable, hermetic serialization format that enables higher-level systems and tools to produce, consume, and transform TensorFlow models.

Please refer to Tensorflow documentation for detailed instructions on how to export SavedModels.

Configure and Use Tensorflow Serving

  • Follow a tutorial on Serving Tensorflow models
  • Configure Tensorflow Serving to make it fit your serving use case
  • Read the Performance Guide and learn how to use TensorBoard to profile and optimize inference requests
  • Read the REST API Guide or gRPC API definition
  • Use SavedModel Warmup if initial inference requests are slow due to lazy initialization of graph
  • If encountering issues regarding model signatures, please read the SignatureDef documentation
  • If using a model with custom ops, learn how to serve models with custom ops

Extend

Tensorflow Serving's architecture is highly modular. You can use some parts individually (e.g. batch scheduling) and/or extend it to serve new use cases.

  • Ensure you are familiar with building Tensorflow Serving
  • Learn about Tensorflow Serving's architecture
  • Explore the Tensorflow Serving C++ API reference
  • Create a new type of Servable
  • Create a custom Source of Servable versions

Contribute

If you'd like to contribute to TensorFlow Serving, be sure to review the contribution guidelines.

For more information

Please refer to the official TensorFlow website for more information.

About

A flexible, high-performance serving system for machine learning models

www.tensorflow.org/serving

Topics

cppdeep-learningdeep-neural-networksmachine-learningmlneural-networkpythonservingtensorflow

Resources

Readme
Apache-2.0 license

Contributing

Contributing
Activity
Custom properties

Stars

6.4k stars

Watchers

216 watching

Forks

2.2k forks
Report repository

Releases

Packages

Used by

Contributors

Languages

You are visitor 01402503 — GeezerVison does not store the pages you look up.
Best viewed with Netscape Navigator 4.7 or Internet Explorer 6 at 800×600. No cookies required.