0
是否有一种很好的方法将使用tflearn.DNN类构建的模型部署到Google Cloud ML引擎?看起来SavedModel需要在预测签名定义中定义输入和输出张量,但不确定如何从tflearn.DNN中获取该张量。使用tflearn.DNN与谷歌云引擎
是否有一种很好的方法将使用tflearn.DNN类构建的模型部署到Google Cloud ML引擎?看起来SavedModel需要在预测签名定义中定义输入和输出张量,但不确定如何从tflearn.DNN中获取该张量。使用tflearn.DNN与谷歌云引擎
我后来至少在我的具体案例中发现了这一点。此片段可让您将DNN导出为SavedModel,然后可将其部署到Google Cloud ML引擎。
摘录低于使用以下参数
会话是由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)
你能解释一下你在使用serving_vars吗? – rhaertel80
在我回答之前,只知道我对使用TensorFlow相当陌生:)所以在这种特定情况下,serving_vars可能并不重要。但我有另一个模型,其中嵌入了word2vec模型。为此,我将嵌入字典作为服务变量,因为它在其中一个图层中使用。 –
我只是想确保您能够使用您导出的内容。 assets.extra中的东西不会自动使用。当涉及到嵌入时,我会假定它将被存储为TensorFlow检查点/变量。是这样吗? – rhaertel80