如何导出急切的执行模型?

问题描述 投票:2回答:1

完成我的模型之后,我现在希望在TensorFlow网站上的this教程之后导出和部署它。但是,没有迹象表明如何在急切执行中执行此操作,我无法向builder.add_meta_graph_and_variables()提供会话或图表。

这是我的代码需要热切和图形兼容的情况,还是我需要保存模型,将其导入会话并从那里导出的情况?

tensorflow tensorflow-serving
1个回答
4
投票

TF 2.0 Alpha支持导出/保存Eager Execution Model(默认为2.0中的Eager Execution)。 SavedModel包含完整的TensorFlow程序,包括权重和计算。

相同的示例代码如下所示:

!pip install -q tensorflow==2.0.0-alpha0
import tensorflow as tf

pretrained_model = tf.keras.applications.MobileNet()
tf.saved_model.save(pretrained_model, "/tmp/mobilenet/1/")

#Loading the saved model
loaded = tf.saved_model.load("/tmp/mobilenet/1/")
infer = loaded.signatures["serving_default"]

服务模型:

nohup tensorflow_model_server \
  --rest_api_port=8501 \
  --model_name=mobilenet \
  --model_base_path="/tmp/mobilenet" >server.log 2>&1

#Sending the Request for Inference

!pip install -q requests
import json
import numpy
import requests
data = json.dumps({"signature_name": "serving_default",
                   "instances": x.tolist()})
headers = {"content-type": "application/json"}
json_response = requests.post('http://localhost:8501/v1/models/mobilenet:predict',
                              data=data, headers=headers)
predictions = numpy.array(json.loads(json_response.text)["predictions"])
© www.soinside.com 2019 - 2024. All rights reserved.