完成模型后,我现在希望按照TensorFlow网站上的this教程进行导出和部署。但是,没有迹象表明如何执行急切的执行操作,因为我无法向builder.add_meta_graph_and_variables()
提供会话或图形。
是这种情况下,我的代码需要与图形兼容,还是需要保存我的模型,将其导入到会话中,然后从那里导出?
答案 0 :(得分:2)
TF 2.0 Alpha支持导出/保存Eager执行模型(默认为2.0中的Eager执行)。 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"])