All Projects → tensorflow → Serving

tensorflow / Serving

Licence: apache-2.0
A flexible, high-performance serving system for machine learning models

Programming Languages

python
139335 projects - #7 most used programming language
C++
36643 projects - #6 most used programming language
Starlark
911 projects

Projects that are alternatives of or similar to Serving

Onnx
Open standard for machine learning interoperability
Stars: ✭ 11,829 (+122.94%)
Mutual labels:  deep-neural-networks, ml
Tfmesos
Tensorflow in Docker on Mesos #tfmesos #tensorflow #mesos
Stars: ✭ 194 (-96.34%)
Mutual labels:  deep-neural-networks, ml
Deephyper
DeepHyper: Scalable Asynchronous Neural Architecture and Hyperparameter Search for Deep Neural Networks
Stars: ✭ 117 (-97.79%)
Mutual labels:  deep-neural-networks, ml
Caffe2
Caffe2 is a lightweight, modular, and scalable deep learning framework.
Stars: ✭ 8,409 (+58.48%)
Mutual labels:  deep-neural-networks, ml
Tensorflow
An Open Source Machine Learning Framework for Everyone
Stars: ✭ 161,335 (+2940.61%)
Mutual labels:  deep-neural-networks, ml
Dltk
Deep Learning Toolkit for Medical Image Analysis
Stars: ✭ 1,249 (-76.46%)
Mutual labels:  deep-neural-networks, ml
Andrew Ng Notes
This is Andrew NG Coursera Handwritten Notes.
Stars: ✭ 180 (-96.61%)
Mutual labels:  deep-neural-networks, ml
Ffdl
Fabric for Deep Learning (FfDL, pronounced fiddle) is a Deep Learning Platform offering TensorFlow, Caffe, PyTorch etc. as a Service on Kubernetes
Stars: ✭ 640 (-87.94%)
Mutual labels:  deep-neural-networks, ml
Darkon
Toolkit to Hack Your Deep Learning Models
Stars: ✭ 231 (-95.65%)
Mutual labels:  deep-neural-networks, ml
Ml Examples
Arm Machine Learning tutorials and examples
Stars: ✭ 207 (-96.1%)
Mutual labels:  deep-neural-networks, ml
Ludwig
Data-centric declarative deep learning framework
Stars: ✭ 8,018 (+51.11%)
Mutual labels:  deep-neural-networks, ml
Openrec
OpenRec is an open-source and modular library for neural network-inspired recommendation algorithms
Stars: ✭ 360 (-93.22%)
Mutual labels:  deep-neural-networks, ml
Skater
Python Library for Model Interpretation/Explanations
Stars: ✭ 973 (-81.66%)
Mutual labels:  deep-neural-networks, ml
Niftynet
[unmaintained] An open-source convolutional neural networks platform for research in medical image analysis and image-guided therapy
Stars: ✭ 1,276 (-75.95%)
Mutual labels:  deep-neural-networks, ml
Mnn
MNN is a blazing fast, lightweight deep learning framework, battle-tested by business-critical use cases in Alibaba
Stars: ✭ 6,284 (+18.43%)
Mutual labels:  deep-neural-networks, ml
Djl
An Engine-Agnostic Deep Learning Framework in Java
Stars: ✭ 2,262 (-57.37%)
Mutual labels:  deep-neural-networks, ml
Oneflow
OneFlow is a performance-centered and open-source deep learning framework.
Stars: ✭ 2,868 (-45.95%)
Mutual labels:  deep-neural-networks, ml
Deep Learning In Production
In this repository, I will share some useful notes and references about deploying deep learning-based models in production.
Stars: ✭ 3,104 (-41.5%)
Mutual labels:  deep-neural-networks, serving
Compression
Data compression in TensorFlow
Stars: ✭ 458 (-91.37%)
Mutual labels:  deep-neural-networks, ml
Tracking With Darkflow
Real-time people Multitracker using YOLO v2 and deep_sort with tensorflow
Stars: ✭ 515 (-90.29%)
Mutual labels:  deep-neural-networks

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.

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

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.

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.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].