Instalación

Instalación de ModelServer

Instalación usando Docker

La forma más sencilla y directa de utilizar TensorFlow Serving es con imágenes de Docker . Recomendamos encarecidamente esta ruta a menos que tenga necesidades específicas que no se aborden mediante la ejecución en un contenedor.

SUGERENCIA: Esta es también la forma más sencilla de hacer que TensorFlow Serving funcione con compatibilidad con GPU .

Instalación usando APT

Binarios disponibles

El binario TensorFlow Serving ModelServer está disponible en dos variantes:

tensorflow-model-server : servidor totalmente optimizado que utiliza algunas optimizaciones del compilador específicas de la plataforma, como instrucciones SSE4 y AVX. Esta debería ser la opción preferida para la mayoría de los usuarios, pero es posible que no funcione en algunas máquinas más antiguas.

tensorflow-model-server-universal : compilado con optimizaciones básicas, pero no incluye conjuntos de instrucciones específicos de la plataforma, por lo que debería funcionar en la mayoría, si no en todas, las máquinas que existen. Utilice esto si tensorflow-model-server no funciona para usted. Tenga en cuenta que el nombre binario es el mismo para ambos paquetes, por lo que si ya instaló tensorflow-model-server, primero debe desinstalarlo usando

apt-get remove tensorflow-model-server

Instalación

  1. Agregue el URI de distribución de TensorFlow Serving como fuente del paquete (configuración ú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. Instalar y actualizar TensorFlow ModelServer

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

Una vez instalado, el binario se puede invocar usando el comando tensorflow_model_server .

Puede actualizar a una versión más reciente de tensorflow-model-server con:

apt-get upgrade tensorflow-model-server

Construyendo desde la fuente

El enfoque recomendado para compilar desde el código fuente es utilizar Docker. Las imágenes de desarrollo de TensorFlow Serving Docker encapsulan todas las dependencias que necesita para crear su propia versión de TensorFlow Serving.

Para obtener una lista de cuáles son estas dependencias, consulte los Dockerfiles de desarrollo de servicio de TensorFlow [ CPU , GPU ].

Instalación de ventana acoplable

Las instrucciones generales de instalación se encuentran en el sitio de Docker .

Clonar el script de compilación

Después de instalar Docker, necesitamos obtener la fuente desde la que queremos compilar. Usaremos Git para clonar la rama maestra de TensorFlow Serving:

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

Construir

Para construir en un entorno hermético con todas las dependencias atendidas, usaremos el script run_in_docker.sh . Este script pasa comandos de compilación a un contenedor Docker. De forma predeterminada, el script se compilará con la última imagen de desarrollo nocturno de Docker.

TensorFlow Serving utiliza Bazel como herramienta de compilación. Puede utilizar los comandos de Bazel para crear destinos individuales o el árbol de origen completo.

Para construir el árbol completo, ejecute:

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

Los binarios se colocan en el directorio bazel-bin y se pueden ejecutar usando un comando como:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

Para probar su compilación, ejecute:

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

Consulte el tutorial básico y el tutorial avanzado para obtener ejemplos más detallados sobre cómo ejecutar TensorFlow Serving.

Construyendo versiones específicas de TensorFlow Serving

Si desea compilar desde una rama específica (como una rama de lanzamiento), pase -b <branchname> al comando git clone .

También querremos hacer coincidir el entorno de compilación para esa rama de código, pasando al script run_in_docker.sh la imagen de desarrollo de Docker que nos gustaría usar.

Por ejemplo, para compilar la versión 1.10 de 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/...
...
Construcción optimizada

Si desea aplicar optimizaciones recomendadas generalmente, incluida la utilización de conjuntos de instrucciones específicas de la plataforma para su procesador, puede agregar --config=nativeopt a los comandos de compilación de Bazel al compilar TensorFlow Serving.

Por ejemplo:

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

También es posible compilar utilizando conjuntos de instrucciones específicos (por ejemplo, AVX). Dondequiera que veas bazel build en la documentación, simplemente agrega las banderas correspondientes:

Conjunto de instrucciones Banderas
AVX --copt=-mavx
AVX2 --copt=-mavx2
FMA --copt=-mfma
ESS 4.1 --copt=-msse4.1
ESS 4.2 --copt=-msse4.2
Todo soportado por procesador. --copt=-march=native

Por ejemplo:

tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
Construyendo con soporte GPU

Para crear una versión personalizada de TensorFlow Serving con soporte para GPU, recomendamos compilarla con las imágenes de Docker proporcionadas o seguir el enfoque en GPU Dockerfile .

Paquete PIP de la API de Python de TensorFlow que sirve

Para ejecutar el código del cliente Python sin la necesidad de crear la API, puede instalar el paquete PIP tensorflow-serving-api usando:

pip install tensorflow-serving-api