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