如何向tensorflowserving推出新车型?

2024-05-23 14:23:27 发布

您现在位置:Python中文网/ 问答频道 /正文

我需要一种方法来使用python3将新训练的模型推送到运行tensorflow服务的部署容器中

找到了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

但是关于如何使用Python3部署新模型,我仍然缺乏一个很好的指南


Tags: 方法httpsorg模型功能comtensorflow部署
1条回答
网友
1楼 · 发布于 2024-05-23 14:23:27

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

然后,我将其提交到Tensorflow服务Docker容器,并推导出该模型并得到结果

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

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_笔记本电脑/export/15549806'

相关问题 更多 >