Installazione

Installazione di ModelServer

Installazione tramite Docker

Il modo più semplice e diretto per utilizzare TensorFlow Serving è con le immagini Docker . Consigliamo vivamente questo percorso a meno che non si abbiano esigenze specifiche che non possono essere soddisfatte dall'esecuzione in un contenitore.

SUGGERIMENTO: questo è anche il modo più semplice per far funzionare TensorFlow Serving con il supporto GPU .

Installazione tramite APT

Binari disponibili

Il binario TensorFlow Serving ModelServer è disponibile in due varianti:

tensorflow-model-server : server completamente ottimizzato che utilizza alcune ottimizzazioni del compilatore specifiche della piattaforma come le istruzioni SSE4 e AVX. Questa dovrebbe essere l'opzione preferita per la maggior parte degli utenti, ma potrebbe non funzionare su alcune macchine meno recenti.

tensorflow-model-server-universal : compilato con ottimizzazioni di base, ma non include set di istruzioni specifici della piattaforma, quindi dovrebbe funzionare sulla maggior parte se non su tutte le macchine disponibili. Utilizzalo se tensorflow-model-server non funziona per te. Tieni presente che il nome binario è lo stesso per entrambi i pacchetti, quindi se hai già installato tensorflow-model-server, dovresti prima disinstallarlo utilizzando

apt-get remove tensorflow-model-server

Installazione

  1. Aggiungi l'URI di distribuzione di TensorFlow Serving come origine del pacchetto (configurazione una tantum)

    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. Installa e aggiorna TensorFlow ModelServer

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

Una volta installato, il binario può essere richiamato utilizzando il comando tensorflow_model_server .

Puoi eseguire l'aggiornamento a una versione più recente di tensorflow-model-server con:

apt-get upgrade tensorflow-model-server

Costruire dalla fonte

L'approccio consigliato alla creazione dal codice sorgente consiste nell'utilizzare Docker. Le immagini di sviluppo di TensorFlow Serving Docker incapsulano tutte le dipendenze necessarie per creare la tua versione di TensorFlow Serving.

Per un elenco di quali sono queste dipendenze, vedere i Dockerfile di sviluppo dei servizi TensorFlow [ CPU , GPU ].

Installazione di Docker

Le istruzioni generali di installazione si trovano sul sito Docker .

Clona lo script di compilazione

Dopo aver installato Docker, dobbiamo ottenere il sorgente da cui vogliamo creare. Utilizzeremo Git per clonare il ramo master di TensorFlow Serving:

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

Costruire

Per creare un ambiente ermetico con tutte le dipendenze curate, utilizzeremo lo script run_in_docker.sh . Questo script passa i comandi di compilazione a un contenitore Docker. Per impostazione predefinita, lo script verrà creato con l'ultima immagine di sviluppo notturna Docker.

TensorFlow Serving utilizza Bazel come strumento di creazione. È possibile utilizzare i comandi Bazel per creare destinazioni individuali o l'intero albero dei sorgenti.

Per costruire l'intero albero, eseguire:

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

I file binari vengono inseriti nella directory bazel-bin e possono essere eseguiti utilizzando un comando come:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

Per testare la tua build, esegui:

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

Consulta il tutorial di base e il tutorial avanzato per esempi più approfonditi sull'esecuzione di TensorFlow Serving.

Creazione di versioni specifiche di TensorFlow Serving

Se vuoi compilare da un ramo specifico (come un ramo di rilascio), passa -b <branchname> al comando git clone .

Dovremo anche abbinare l'ambiente di compilazione per quel ramo di codice, passando allo script run_in_docker.sh l'immagine di sviluppo Docker che vorremmo utilizzare.

Ad esempio, per creare la versione 1.10 di 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/...
...
Costruzione ottimizzata

Se desideri applicare le ottimizzazioni generalmente consigliate, incluso l'utilizzo di set di istruzioni specifici della piattaforma per il tuo processore, puoi aggiungere --config=nativeopt ai comandi di build di Bazel durante la creazione di TensorFlow Serving.

Per esempio:

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

È anche possibile compilare utilizzando set di istruzioni specifici (ad esempio AVX). Ovunque vedi bazel build nella documentazione, aggiungi semplicemente i flag corrispondenti:

Set di istruzioni Bandiere
AVX --copt=-mavx
AVX2 --copt=-mavx2
FMA --copt=-mfma
ESS 4.1 --copt=-msse4.1
ESS 4.2 --copt=-msse4.2
Il tutto supportato dal processore --copt=-march=native

Per esempio:

tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
Costruire con il supporto GPU

Per creare una versione personalizzata di TensorFlow Serving con supporto GPU, ti consigliamo di creare con le immagini Docker fornite o di seguire l'approccio nel Dockerfile GPU .

Pacchetto PIP dell'API Python per TensorFlow

Per eseguire il codice client Python senza la necessità di creare l'API, puoi installare il pacchetto PIP tensorflow-serving-api utilizzando:

pip install tensorflow-serving-api