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}
'Python library & package > Tensorflow & keras' 카테고리의 다른 글
[펌] 텐서플로우 tf.data.Dataset 사용 방법 (0) | 2021.09.12 |
---|---|
하나의 도커 이미지 docker image 에 여러 개의 컨테이너 container 만들기(tensorflow/serving) (0) | 2021.08.02 |
Tensorflow Model Server 정복 (REST API, WSL2 사용, LSTM 모델) (0) | 2021.07.30 |
(해결방법) cannot import name 'get_config' from 'tensorflow.python.eager.context' (0) | 2021.07.23 |
[펌] save, load_model 과 save_weights, load_weights의 차이점 (0) | 2021.07.23 |