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
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 -
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