TensorFlow Serving은 프로덕션 환경을 위해 설계된 머신러닝 모델을 위한 유연한 고성능 제공 시스템입니다. 기계 학습의 추론 측면을 다루고, 훈련 후 모델을 선택하고 수명을 관리하며, 참조 횟수가 많은 고성능 조회 테이블을 통해 클라이언트에게 버전별 액세스를 제공합니다. TensorFlow Serving은 TensorFlow 모델과의 기본 통합을 제공하지만 다른 유형의 모델 및 데이터를 제공하도록 쉽게 확장할 수 있습니다.
몇 가지 기능을 참고하려면:
# Download the TensorFlow Serving Docker image and repo
docker pull tensorflow/serving
git clone https://github.com/tensorflow/serving
# Location of demo models
TESTDATA= " $( pwd ) /serving/tensorflow_serving/servables/tensorflow/testdata "
# Start TensorFlow Serving container and open the REST API port
docker run -t --rm -p 8501:8501
-v " $TESTDATA /saved_model_half_plus_two_cpu:/models/half_plus_two "
-e MODEL_NAME=half_plus_two
tensorflow/serving &
# Query the model using the predict API
curl -d ' {"instances": [1.0, 2.0, 5.0]} '
-X POST http://localhost:8501/v1/models/half_plus_two:predict
# Returns => { "predictions": [2.5, 3.0, 4.5] }
Tensorflow 모델을 훈련하고 제공하기 위한 전체 튜토리얼은 공식 Tensorflow 문서 사이트를 참조하세요.
TensorFlow Serving을 사용하는 가장 쉽고 간단한 방법은 Docker 이미지를 사용하는 것입니다. 컨테이너에서 실행하여 해결되지 않는 특정 요구 사항이 없다면 이 경로를 적극 권장합니다.
Tensorflow 모델을 제공하려면 Tensorflow 프로그램에서 SavedModel을 내보내면 됩니다. SavedModel은 상위 수준 시스템과 도구가 TensorFlow 모델을 생성, 사용 및 변환할 수 있도록 하는 언어 중립적이고 복구 가능한 밀폐형 직렬화 형식입니다.
저장된 모델을 내보내는 방법에 대한 자세한 지침은 Tensorflow 설명서를 참조하세요.
Tensorflow Serving의 아키텍처는 고도로 모듈화되어 있습니다. 일부 부분을 개별적으로 사용하거나(예: 배치 예약) 확장하여 새로운 사용 사례를 제공할 수 있습니다.
TensorFlow Serving에 기여하고 싶다면 기여 가이드라인을 꼭 검토하세요.
자세한 내용은 TensorFlow 공식 웹사이트를 참조하세요.