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