Windows下安装Docker并使用TF Serving的pb模型

安装

  1. 下载并安装docker桌面:链接
  2. 默认勾选即可,安装完成后会强制要求重启
  3. 重启后可能会报一些错误,不用管直接全关掉,然后右击托盘区的小鲸鱼图标,选择Switch to Windows Containers
  4. 此时docker即可正常启动了
  5. 在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 tensorflow/serving
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}]}'
上一篇:Paddle Inference和Paddle Serving


下一篇:【tensorlow】tensorflow-serving初步使用记录