Files
fission-src/environments/tensorflow-serving
Ta-Ching ChenandGitHub 8f6887280c Allow to set API type for tensorflow serving environment (#1371)
Tensorflow Serving supports three kinds of API: predict, classify, regress. In order to fully support possible API types, this PR adds code to split the entry point with separator ":" to get model name and the API type separately. And append the API type to proxy URL when receiving the requests.

$ fission fn create --name t1 --pkg <pkg name> \
    --env tensorflow --entrypoint "half_plus_two:regress"
2019-11-02 23:51:31 +08:00
..
2019-07-15 16:33:26 +08:00

Fission: Tensorflow Serving Environment

This is the Tensorflow Serving environment for Fission.

It's a Docker image containing a Go runtime, along with a tensorflow serving service.

How it works

Tensorflow Serving is an serving service that supports both RESTful API and gRPC endpoints. In current implementation, Go server launches tensorflow_model_server to load in model during specialization. As long as the Go server receives requests from router it creates a reverse proxy that connects to RESTful API endpoint exposed by tensorflow_model_server and get response from the upstream server for user.

Build this image

docker build -t USER/tensorflow-serving . && docker push USER/tensorflow-serving

Using the image in fission

You can add this customized image to fission with "fission env create":

fission env create --name tensorflow --image USER/tensorflow-serving --version 2

After this, fission functions that have the env parameter set to the same environment name as this command will use this environment.