【发布时间】:2023-03-20 13:59:01
【问题描述】:
有没有一种好方法可以将使用 tflearn.DNN 类构建的模型部署到 Google Cloud ML Engine? SavedModel 似乎需要在预测签名定义中定义输入和输出张量,但不确定如何从 tflearn.DNN 中获取。
【问题讨论】:
标签: tensorflow tensorflow-serving tflearn google-cloud-ml google-cloud-ml-engine
有没有一种好方法可以将使用 tflearn.DNN 类构建的模型部署到 Google Cloud ML Engine? SavedModel 似乎需要在预测签名定义中定义输入和输出张量,但不确定如何从 tflearn.DNN 中获取。
【问题讨论】:
标签: tensorflow tensorflow-serving tflearn google-cloud-ml google-cloud-ml-engine
至少在我的具体情况下,我后来才明白这一点。此 sn-p 可让您将 DNN 导出为 SavedModel,然后可以将其部署到 Google Cloud ML Engine。
片段如下,带有以下参数
session是tflearn.DNN返回的对象的一个属性
builder = tf.saved_model.builder.SavedModelBuilder(filename)
signature = tf.saved_model.signature_def_utils.predict_signature_def(
inputs={'in':input_tensor}, outputs={'out':output_tensor})
builder.add_meta_graph_and_variables(session,
[tf.saved_model.tag_constants.SERVING],
signature_def_map={'serving_default':signature})
builder.save()
serving_vars = {
'name':self.name
}
assets = filename + '/assets.extra'
os.makedirs(assets)
with open(assets + '/serve.pkl', 'wb') as f:
pickle.dump(serving_vars, f, pickle.HIGHEST_PROTOCOL)
【讨论】: