Instalação

Instalando ModelServer

Instalando usando Docker

A maneira mais fácil e mais direto de usar TensorFlow porção é com imagens Docker . Recomendamos fortemente essa rota, a menos que você tenha necessidades específicas que não sejam atendidas pela execução em um contêiner.

DICA: Esta é também a maneira mais fácil de obter TensorFlow Servindo trabalhar com suporte GPU .

Instalando usando APT

Binários disponíveis

O binário TensorFlow Serving ModelServer está disponível em duas variantes:

tensorflow-model-servidor: servidor totalmente otimizado que usa algumas otimizações do compilador plataforma específicos como instruções SSE4 e AVX. Esta deve ser a opção preferida para a maioria dos usuários, mas pode não funcionar em algumas máquinas mais antigas.

tensorflow-modelo-servidor universal: Compilado com otimizações básicas, mas não inclui plataforma conjuntos de instruções específicas, por isso deve funcionar em maioria, se não todas as máquinas lá fora. Use isto se tensorflow-model-server não funciona para você. Observe que o nome binário é o mesmo para ambos os pacotes, então se você já instalou tensorflow-model-server, você deve primeiro desinstalá-lo usando

apt-get remove tensorflow-model-server

Instalação

  1. Adicione o URI de distribuição do TensorFlow Serving como uma fonte de pacote (configuração única)

    echo "deb [arch=amd64] http://storage.googleapis.com/tensorflow-serving-apt stable tensorflow-model-server tensorflow-model-server-universal" | sudo tee /etc/apt/sources.list.d/tensorflow-serving.list && \
    curl https://storage.googleapis.com/tensorflow-serving-apt/tensorflow-serving.release.pub.gpg | sudo apt-key add -
    
  2. Instale e atualize o TensorFlow ModelServer

    apt-get update && apt-get install tensorflow-model-server
    

Uma vez instalado, o binário pode ser invocado usando o comando tensorflow_model_server .

Você pode atualizar para uma versão mais recente do tensorflow-model-server com:

apt-get upgrade tensorflow-model-server

Construindo a partir da fonte

A abordagem recomendada para construir a partir da origem é usar o Docker. As imagens de desenvolvimento do TensorFlow Serving Docker encapsulam todas as dependências de que você precisa para criar sua própria versão do TensorFlow Serving.

Para obter uma lista do que estas dependências são, veja o TensorFlow Servindo Desenvolvimento Dockerfiles [ CPU , GPU ].

Instalando Docker

Instruções gerais de instalação estão no site da Docker .

Clone o script de construção

Depois de instalar o Docker, precisamos obter a fonte a partir da qual queremos construir. Usaremos o Git para clonar o branch master do TensorFlow Serving:

git clone https://github.com/tensorflow/serving.git
cd serving

Construir

A fim de construir em um ambiente hermético com todas as dependências atendidas, vamos usar o run_in_docker.sh script. Este script passa os comandos de construção para um contêiner do Docker. Por padrão, o script será construído com a última imagem de desenvolvimento noturno do Docker.

O TensorFlow Serving usa o Bazel como sua ferramenta de compilação. Você pode usar os comandos do Bazel para criar destinos individuais ou toda a árvore de origem.

Para construir a árvore inteira, execute:

tools/run_in_docker.sh bazel build -c opt tensorflow_serving/...

Os binários são colocados no diretório bazel-bin e podem ser executados usando um comando como:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

Para testar sua compilação, execute:

tools/run_in_docker.sh bazel test -c opt tensorflow_serving/...

Veja o tutorial básico e avançado tutorial para mais exemplos em profundidade de funcionamento TensorFlow Servindo.

Criação de versões específicas do TensorFlow Serving

Se você quer construir a partir de um ramo específico (como um ramo release), passe -b <branchname> ao git clone de comando.

Nós também vai querer corresponder ao ambiente de compilação para esse ramo do código, passando o run_in_docker.sh roteiro a imagem desenvolvimento Docker que gostaria de usar.

Por exemplo, para construir a versão 1.10 do TensorFlow Serving:

$ git clone -b r1.10 https://github.com/tensorflow/serving.git
...
$ cd serving
$ tools/run_in_docker.sh -d tensorflow/serving:1.10-devel \
  bazel build tensorflow_serving/...
...
Compilação otimizada

Se você gostaria de aplicar otimizações geralmente recomendadas, inclusive utilizando conjuntos de instruções específicas da plataforma para o seu processador, você pode adicionar --config=nativeopt aos comandos de compilação Bazel ao construir TensorFlow Servindo.

Por exemplo:

tools/run_in_docker.sh bazel build --config=nativeopt tensorflow_serving/...

Também é possível compilar usando conjuntos de instruções específicas (por exemplo, AVX). Onde quer que você veja bazel build na documentação, basta adicionar as bandeiras correspondentes:

Conjunto de instruções Bandeiras
AVX --copt=-mavx
AVX2 --copt=-mavx2
FMA --copt=-mfma
SSE 4.1 --copt=-msse4.1
SSE 4.2 --copt=-msse4.2
Todos suportados pelo processador --copt=-march=native

Por exemplo:

tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
Construindo com suporte de GPU

A fim de construir uma versão personalizada do TensorFlow Servindo com suporte GPU, recomendamos quer construir com as imagens Docker prestados , ou seguindo a abordagem na GPU Dockerfile .

Pacote PIP da API TensorFlow Serving Python

Para executar o código do cliente Python sem a necessidade de construir a API, você pode instalar o tensorflow-serving-api pacote PIP usando:

pip install tensorflow-serving-api