Windows下安裝Docker並使用TF Serving的pb模型
阿新 • • 發佈:2021-06-30
安裝
- 下載並安裝docker桌面:連結
- 預設勾選即可,安裝完成後會強制要求重啟
- 重啟後可能會報一些錯誤,不用管直接全關掉,然後右擊托盤區的小鯨魚圖示,選擇
Switch to Windows Containers
- 此時docker即可正常啟動了
- 在Settings裡的Docker Engine裡,將experimental項置為
true
,否則會報錯:no matching manifest for windows/amd64
使用
構建pb模型
以NER的BiLSTM-CRF模型為例:
import tensorflow as tf builder = tf.saved_model.builder.SavedModelBuilder('./pb/') inputs = { 'inputX': tf.saved_model.utils.build_tensor_info(model.inputX), # placeholder 'inputY': tf.saved_model.utils.build_tensor_info(model.inputY), # placeholder 'inputZ': tf.saved_model.utils.build_tensor_info(model.seq_lens) # placeholder } outputs = { 'prediction': tf.saved_model.utils.build_tensor_info(model.viterbi_sequence) } signature = tf.saved_model.signature_def_utils.build_signature_def( inputs, outputs, 'serving_default' ) builder.add_meta_graph_and_variables( sess, [tf.saved_model.tag_constants.SERVING], signature_def_map={'serving_default': signature} ) builder.save()
執行CMD:
docker run -p 8501:8501 --mount type=bind,source=pb檔案路徑,target=/models/目標模型 -e MODEL_NAME=模型名 -t tensorflow/serving &
預測
curl -X POST http://localhost:8501/v1/models/目標模型:predict -d '{"instances": [{"inputX":[21,20,60], "inputY": [0,0,0],"inputZ":30}]}'