텐서플로우 서빙 예제

Docker를 통해 TensorFlow 서비스를 사용할 수 있으므로 배포 및 성능의 용이성을 극대화하면서 컨테이너에 기계 학습 모델을 쉽게 배포할 수 있습니다. 우리는 도커와 gRPC 서버를 제공으로, 우리는 뿐만 아니라 도커와 HTTP / REST API를 제공 할 것입니다. Dockerfile을 확장하기만 하면 텐서플로우_model_server 옵션을 추가하는 것만으로 도커파일을 확장할 수 있습니다. 1.8을 제공하는 텐서플로우 — REST API의 포트 번호를 지정하는 데 사용되는 rest_api_port입니다. 기본값은 0입니다. 즉, 기본적으로 REST API를 제공하지 않습니다. 도커파일이 여기에 있습니다. 당신이 볼 수 있듯이, TensorFlow 서빙 및 Docker를 사용 하 여 모델을 데리고 꽤 똑바로 앞으로. 모델을 내장한 사용자 지정 Docker 이미지를 직접 만들 수 있으므로 배포가 더욱 쉬워집니다. TF 봉사의 예가 있지만, 내가 그것을 작동하기 위해 일을 파악하는 데 시간이 좀 걸렸습니다.

나는 파이썬 클라이언트를 확인하고 여기에 나를 위해 더 간단하게 만들었습니다. 4) 도커에서 서빙 리포지토리를 다시 복제합니다. (도커 터미널 내에서 실행!). 텐서플로우는 사실상 ML 플랫폼으로 성장하여 업계와 연구 모두에서 인기가 있습니다. Tensorflow에 대한 수요와 지원은 ML 모델 교육 및 서비스 와 관련된 OSS 라이브러리, 도구 및 프레임워크호스트에 기여했습니다. Tensorflow Serving는 분산된 프로덕션 환경에서 ML 모델을 제공하기 위한 추론 측면에 중점을 두도록 제작된 프로젝트입니다. Tensorflow Serving는 핵심 서빙 구성 요소를 통합하여 여러 ML 모델(또는 여러 버전)을 제공할 수 있는 gRPC/HTTP 서버를 구축하고 모니터링 구성 요소 및 구성 가능한 아키텍처를 제공합니다. 이제 전체 tensorflow_serving 모듈을 제거할 수 있습니다: 모델이 수행하는 작업에 따라 이러한 최적화는 서빙 성능에 큰 영향을 미칠 수 있습니다. 고맙게도, 자신의 최적화 된 서빙 이미지를 함께 넣어 간단합니다. 다음으로, 이전과 유사하게 서빙 컨테이너를 시작, 이번에는 소스에서 빌드 된 docker 이미지와 Tensorflow 특정 CPU 최적화 플래그: 우리는 우리의 서버의 REST 끝점에 POST로 예측 요청을 보내 고 그것을 세 가지 예제를 전달 합니다. 우리는 특정 버전을 지정하지 않음으로써 우리에게 우리의 서비스 의 최신 버전을 제공하도록 우리의 서버를 요청합니다. 먼저 개체 검색 모델이 포함된 전체 docker 이미지를 만들려고 합니다.

이 작업이 완료되면 kubernetes 클러스터에 배포합니다. 무료 계층을 사용하면 이 자습서를 무료로 실행할 수 있기 때문에 Google 클라우드 플랫폼에서 예제를 실행합니다. GCP에서 클라우드 환경을 설정하는 데 도움이 되면 여기에서 자습서를 확인할 수 있습니다. 나는 이것을 사용하려고 노력했으며 특히 사용자 정의 모델을 사용하는 경우 자습서 / 예제 비트가 복잡하다는 것을 발견했기 때문에 여기에 더 간단한 것이 있습니다. 나는 당신의 모델을 통해 자신의 GRPC 래퍼를 가지고 매우 어렵지 않기 때문에 TF 서빙 부분의 사용 사례를 아직 확실하지 않다. 그러나 TF 봉사는 더 많은 유망한 입니다. 나는 시간에 그것을 알 것 같아요. 지금은 간단한 모델을 저장하고 GRPC 클라이언트를 통해 작업하는 데 중점을 둡니다. 텐서플로우 서빙은 ML 모델에 저장된 모델 형식을 사용합니다. SavedModel은 언어 중립적이고 복구 가능한 밀폐형 직렬화 형식으로, 상위 시스템과 도구가 TensorFlow 모델을 생성, 사용 및 변환할 수 있습니다. SaveModel을 내보내는 방법에는 여러 가지가 있습니다(Keras 포함). 이 연습에서는 미리 학습된 ResNet SavedModel을 다운로드하기만 하면 새 서빙 이미지가 있으므로 서버를 다시 시작하겠습니다.

Spread the love