↓폴밍끼 유튜브 채널 자세히보기

Python library & package/Tensorflow & keras

도커를 활용한 Tensorflow model server에 새로운 버전의 모델 배포하기

폴밍끼 2021. 8. 2. 13:16
728x90

새로운 버전의 모델을 만들어 이전 글의 0번째 단계에서와 같이 C:\Users\007_0\serving\btc_lstm\2 폴더에 saved_model함수를 써서 모델을 저장합니다.

import tensorflow as tf 

data_path = 'C:\Users\007_0\serving\btc_lstm'
modelpath = data_path + "\2" # 모델 버전 2을 의미합니다 

tf.saved_model.save(model, modelpath)

끝입니다. 이렇게 저장만 해준다면 일정한 간격으로(간격 조정 가능) 텐서플로 서빙이 새로운 버전을 확인합니다. 새로운 버전을 찾으면 자동으로 버전 교체를 진행합니다. 기본적으로 대기 중인 요청이 있다면 이전 버전의 모델로 응답합니다. 새로운 요청은 새 버전에서 처리합니다. 대기 중인 요청이 모두 응답을 받으면 바로 이전 버전의 모델은 내려갑니다. 텐서플로 서빙 로그에서 이 작업을 확인할 수가 있습니다.

2021-08-02 03:54:05.000675: I tensorflow_serving/core/basic_manager.cc:740] Successfully reserved resources to load servable {name: btc_lstm version: 2}
2021-08-02 03:54:05.000768: I tensorflow_serving/core/loader_harness.cc:66] Approving load for servable version {name: btc_lstm version: 2}
2021-08-02 03:54:05.000853: I tensorflow_serving/core/loader_harness.cc:74] Loading servable version {name: btc_lstm version: 2}
2021-08-02 03:54:05.007884: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:38] Reading SavedModel from: /models/btc_lstm/2
2021-08-02 03:54:05.068678: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:90] Reading meta graph with tags { serve }
2021-08-02 03:54:05.068759: I external/org_tensorflow/tensorflow/cc/saved_model/reader.cc:132] Reading SavedModel debug info (if present) from: /models/btc_lstm/2
2021-08-02 03:54:05.216674: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:206] Restoring SavedModel bundle.
2021-08-02 03:54:05.482523: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:190] Running initialization op on SavedModel bundle at path: /models/btc_lstm/2
2021-08-02 03:54:05.592835: I external/org_tensorflow/tensorflow/cc/saved_model/loader.cc:277] SavedModel load for tags { serve }; Status: success: OK. Took 584963 microseconds.
2021-08-02 03:54:05.606770: I tensorflow_serving/servables/tensorflow/saved_model_warmup_util.cc:59] No warmup data file found at /models/btc_lstm/2/assets.extra/tf_serving_warmup_requests
2021-08-02 03:54:05.726902: I tensorflow_serving/core/loader_harness.cc:87] Successfully loaded servable version {name: btc_lstm version: 2}