ModelServer 설치
Docker를 사용하여 설치
TensorFlow Serving을 사용하는 가장 쉽고 간단한 방법은 Docker 이미지를 사용하는 것입니다. 컨테이너에서 실행하여 해결되지 않는 특정 요구 사항이 없다면 이 경로를 적극 권장합니다.
팁: 이는 TensorFlow Serving이 GPU 지원 과 함께 작동하도록 하는 가장 쉬운 방법이기도 합니다.
APT를 사용하여 설치
사용 가능한 바이너리
TensorFlow Serving ModelServer 바이너리는 두 가지 변형으로 제공됩니다.
tensorflow-model-server : SSE4 및 AVX 명령어와 같은 일부 플랫폼별 컴파일러 최적화를 사용하는 완전히 최적화된 서버입니다. 이는 대부분의 사용자가 선호하는 옵션이지만 일부 오래된 시스템에서는 작동하지 않을 수 있습니다.
tensorflow-model-server-universal : 기본 최적화로 컴파일되었지만 플랫폼별 명령 세트는 포함하지 않으므로 모든 시스템은 아니더라도 대부분의 시스템에서 작동합니다. tensorflow-model-server
작동하지 않는 경우 이를 사용하세요. 바이너리 이름은 두 패키지 모두 동일하므로 이미 tensorflow-model-server를 설치한 경우 먼저 다음을 사용하여 제거해야 합니다.
apt-get remove tensorflow-model-server
설치
TensorFlow Serving 배포 URI를 패키지 소스로 추가(일회성 설정)
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 -
TensorFlow ModelServer 설치 및 업데이트
apt-get update && apt-get install tensorflow-model-server
일단 설치되면 tensorflow_model_server
명령을 사용하여 바이너리를 호출할 수 있습니다.
다음을 사용하여 최신 버전의 tensorflow-model-server로 업그레이드할 수 있습니다.
apt-get upgrade tensorflow-model-server
소스에서 빌드
소스에서 빌드하는 데 권장되는 접근 방식은 Docker를 사용하는 것입니다. TensorFlow Serving Docker 개발 이미지는 자체 TensorFlow Serving 버전을 구축하는 데 필요한 모든 종속성을 캡슐화합니다.
이러한 종속성이 무엇인지 목록을 보려면 TensorFlow Serving Development Dockerfiles [ CPU , GPU ]를 참조하세요.
도커 설치
일반 설치 지침은 Docker 사이트에 있습니다.
빌드 스크립트 복제
Docker를 설치한 후 빌드하려는 소스를 가져와야 합니다. Git을 사용하여 TensorFlow Serving의 마스터 브랜치를 복제하겠습니다.
git clone https://github.com/tensorflow/serving.git
cd serving
짓다
모든 종속성을 처리한 밀폐형 환경에서 빌드하기 위해 run_in_docker.sh
스크립트를 사용합니다. 이 스크립트는 빌드 명령을 Docker 컨테이너로 전달합니다. 기본적으로 스크립트는 최신 야간 Docker 개발 이미지를 사용하여 빌드됩니다.
TensorFlow Serving은 Bazel을 빌드 도구로 사용합니다. Bazel 명령을 사용하여 개별 대상 또는 전체 소스 트리를 빌드할 수 있습니다.
전체 트리를 빌드하려면 다음을 실행하세요.
tools/run_in_docker.sh bazel build -c opt tensorflow_serving/...
바이너리는 bazel-bin 디렉터리에 있으며 다음과 같은 명령을 사용하여 실행할 수 있습니다.
bazel-bin/tensorflow_serving/model_servers/tensorflow_model_server
빌드를 테스트하려면 다음을 실행하세요.
tools/run_in_docker.sh bazel test -c opt tensorflow_serving/...
TensorFlow Serving 실행에 대한 더 자세한 예는 기본 튜토리얼 과 고급 튜토리얼을 참조하세요.
TensorFlow Serving의 특정 버전 빌드
특정 분기(예: 릴리스 분기)에서 빌드하려면 -b <branchname>
git clone
명령에 전달하세요.
또한 run_in_docker.sh
스크립트에 사용하려는 Docker 개발 이미지를 전달하여 해당 코드 분기에 대한 빌드 환경을 일치시키려고 합니다.
예를 들어 TensorFlow Serving 버전 1.10을 빌드하려면 다음 안내를 따르세요.
$ 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/...
...
최적화된 빌드
프로세서에 대한 플랫폼별 명령 세트 활용을 포함하여 일반적으로 권장되는 최적화를 적용하려면 TensorFlow Serving을 빌드할 때 Bazel 빌드 명령에 --config=nativeopt
추가할 수 있습니다.
예를 들어:
tools/run_in_docker.sh bazel build --config=nativeopt tensorflow_serving/...
특정 명령어 세트(예: AVX)를 사용하여 컴파일하는 것도 가능합니다. 문서에서 bazel build
표시될 때마다 해당 플래그를 추가하기만 하면 됩니다.
명령어 세트 | 플래그 |
---|---|
AVX | --copt=-mavx |
AVX2 | --copt=-mavx2 |
FMA | --copt=-mfma |
SSE 4.1 | --copt=-msse4.1 |
SSE 4.2 | --copt=-msse4.2 |
모두 프로세서에서 지원됨 | --copt=-march=native |
예를 들어:
tools/run_in_docker.sh bazel build --copt=-mavx2 tensorflow_serving/...
GPU 지원으로 구축
GPU를 지원하는 TensorFlow Serving의 사용자 정의 버전을 구축하려면 제공된 Docker 이미지를 사용하여 구축하거나 GPU Dockerfile 의 접근 방식을 따르는 것이 좋습니다.
TensorFlow Serving Python API PIP 패키지
API를 빌드할 필요 없이 Python 클라이언트 코드를 실행하려면 다음을 사용하여 tensorflow-serving-api
PIP 패키지를 설치할 수 있습니다.
pip install tensorflow-serving-api