【问题标题】:How to push a new model to tensorflow-serving?如何将新模型推向 tensorflow-serving?
【发布时间】:2019-04-11 12:47:48
【问题描述】:

我需要一种方法来使用 Python 3 将新训练的模型推送到运行 tensorflow-serving 的已部署容器。

找到了 tfx 包 (https://www.tensorflow.org/tfx/guide/pusher),但它只适用于 python 2.7

还发现这个问题指出存在这个功能:https://stackoverflow.com/questions/50052187/how-to-add-a-new-model-in-tensorflow-serving

但我仍然缺乏关于如何使用 Python 3 部署新模型的良好指南。

【问题讨论】:

标签: python tensorflow tensorflow-serving


【解决方案1】:

我创建了一个模型并将其保存在路径“/usr/local/google/home/abc/Jupyter_Notebooks/export”中。

然后,我将其提交到 Tensorflow Serving Docker Container 并推断该模型并得到结果。

在命令提示符中运行的命令,用于实现上述说明如下所示:

sudo docker run -d --name sb tensorflow/serving

sudo docker cp /usr/local/google/home/abc/Jupyter_Notebooks/export sb:/models/export

sudo docker commit --change "ENV MODEL_NAME export" sb rak_iris_container

sudo docker kill sb

sudo docker pull tensorflow/serving

sudo docker run -p 8501:8501 --mount type=bind,source=/usr/local/google/home/abc/Jupyter_Notebooks/export,target=/models/export -e MODEL_NAME=export -t tensorflow/serving &

saved_model_cli show --dir /usr/local/google/home/abc/Jupyter_Notebooks/export/1554294699 --all

curl -d '{"examples":[{"SepalLength":[5.1],"SepalWidth":[3.3],"PetalLength":[1.7],"PetalWidth":[0.5]}]}' \
  -X POST http://localhost:8501/v1/models/export:classify

上述推理的输出是

{
    "results": [[["0", 0.998091], ["1", 0.00190929], ["2", 1.46236e-08]]
    ]
}

使用下面提到的代码保存模型:

feature_spec = tf.feature_column.make_parse_example_spec(my_feature_columns)
serving_input_receiver_fn = tf.estimator.export.build_parsing_serving_input_receiver_fn(feature_spec)
export_dir = classifier.export_savedmodel('export', serving_input_receiver_fn)
print('Exported to {}'.format(export_dir))

上述命令的输出是:

导出到 b'/usr/local/google/home/abc/Jupyter_Notebooks/export/1554980806'

【讨论】:

    猜你喜欢
    • 2018-08-03
    • 2018-02-01
    • 2018-05-16
    • 2018-02-26
    • 2018-09-09
    • 1970-01-01
    • 1970-01-01
    • 2017-09-24
    • 2017-09-10
    相关资源
    最近更新 更多