Instalacja

Instalowanie ModelServera

Instalacja za pomocą Dockera

Najłatwiejszym i najprostszym sposobem korzystania z udostępniania TensorFlow są obrazy Dockera . Zdecydowanie zalecamy tę trasę, chyba że masz określone potrzeby, których nie można zaspokoić, uruchamiając w kontenerze.

WSKAZÓWKA: Jest to również najłatwiejszy sposób, aby TensorFlow Serving współpracował z obsługą GPU .

Instalacja za pomocą APT

Dostępne pliki binarne

Plik binarny TensorFlow obsługujący ModelServer jest dostępny w dwóch wariantach:

tensorflow-model-server : W pełni zoptymalizowany serwer, który wykorzystuje pewne optymalizacje kompilatora specyficzne dla platformy, takie jak instrukcje SSE4 i AVX. Powinna to być preferowana opcja dla większości użytkowników, ale może nie działać na niektórych starszych komputerach.

tensorflow-model-server-universal : skompilowany z podstawowymi optymalizacjami, ale nie zawiera zestawów instrukcji specyficznych dla platformy, więc powinien działać na większości, jeśli nie na wszystkich dostępnych maszynach. Użyj tego, jeśli tensorflow-model-server nie działa dla Ciebie. Zauważ, że nazwa binarna jest taka sama dla obu pakietów, więc jeśli już zainstalowałeś tensorflow-model-server, powinieneś najpierw odinstalować go za pomocą

apt-get remove tensorflow-model-server

Instalacja

  1. Dodaj identyfikator URI dystrybucji TensorFlow Serving jako źródło pakietu (konfiguracja jednorazowa)

    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. Zainstaluj i zaktualizuj TensorFlow ModelServer

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

Po zainstalowaniu plik binarny można wywołać za pomocą polecenia tensorflow_model_server .

Możesz uaktualnić do nowszej wersji tensorflow-model-server za pomocą:

apt-get upgrade tensorflow-model-server

Budowanie ze źródła

Zalecanym podejściem do budowania ze źródła jest użycie Dockera. Obrazy rozwojowe platformy Docker TensorFlow zawierają wszystkie zależności potrzebne do zbudowania własnej wersji usługi TensorFlow Serving.

Aby zapoznać się z listą tych zależności, zobacz pliki dockerowe dotyczące rozwoju obsługi TensorFlow [ CPU , GPU ].

Instalowanie Dockera

Ogólne instrukcje instalacji znajdują się na stronie Dockera .

Sklonuj skrypt kompilacji

Po zainstalowaniu Dockera musimy zdobyć źródło, z którego chcemy budować. Użyjemy Gita do sklonowania głównej gałęzi TensorFlow Serving:

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

Zbudować

Aby zbudować środowisko hermetyczne z uwzględnieniem wszystkich zależności, użyjemy skryptu run_in_docker.sh . Ten skrypt przekazuje polecenia kompilacji do kontenera Docker. Domyślnie skrypt zostanie zbudowany przy użyciu najnowszego obrazu programistycznego platformy Docker dostępnego w nocy.

TensorFlow Serving używa Bazela jako narzędzia do kompilacji. Możesz używać poleceń Bazel do budowania pojedynczych celów lub całego drzewa źródłowego.

Aby zbudować całe drzewo, wykonaj:

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

Pliki binarne są umieszczane w katalogu bazel-bin i można je uruchomić za pomocą polecenia takiego jak:

bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server

Aby przetestować kompilację, wykonaj:

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

Zobacz podstawowy samouczek i zaawansowany samouczek , aby uzyskać bardziej szczegółowe przykłady uruchamiania udostępniania TensorFlow.

Tworzenie konkretnych wersji TensorFlow Serving

Jeśli chcesz budować na podstawie określonej gałęzi (takiej jak gałąź wydania), przekaż -b <branchname> do polecenia git clone .

Będziemy także chcieli dopasować środowisko kompilacji dla tej gałęzi kodu, przekazując skryptowi run_in_docker.sh obraz programistyczny Dockera, którego chcemy użyć.

Na przykład, aby zbudować wersję 1.10 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/...
...
Zoptymalizowana konstrukcja

Jeśli chcesz zastosować ogólnie zalecane optymalizacje, w tym wykorzystanie zestawów instrukcji specyficznych dla platformy dla Twojego procesora, możesz dodać --config=nativeopt do poleceń kompilacji Bazel podczas tworzenia udostępniania TensorFlow.

Na przykład:

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

Możliwa jest także kompilacja przy użyciu określonych zestawów instrukcji (np. AVX). Gdziekolwiek w dokumentacji widzisz bazel build , po prostu dodaj odpowiednie flagi:

Zestaw instrukcji Flagi
AVX --copt=-mavx
AVX2 --copt=-mavx2
FMA --copt=-mfma
SSE 4.1 --copt=-msse4.1
SSE 4.2 --copt=-msse4.2
Wszystko obsługiwane przez procesor --copt=-march=native

Na przykład:

tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
Budowanie ze wsparciem GPU

Aby zbudować niestandardową wersję TensorFlow Serving z obsługą procesora graficznego, zalecamy albo budowanie przy użyciu dostarczonych obrazów Dockera , albo zastosowanie podejścia opisanego w pliku Dockerfile GPU .

TensorFlow obsługujący pakiet PIP API języka Python

Aby uruchomić kod klienta Pythona bez konieczności budowania interfejsu API, możesz zainstalować pakiet PIP tensorflow-serving-api używając:

pip install tensorflow-serving-api