我希望将训练有素的模型部署到ml-engine。我可以在本地运行我的代码,例如:
with tf.Session() as sess: sess.run([tf.global_variables_initializer(), tf.tables_initializer()]) example_result = sess.run( my_model, feed_dict=###snip### )
我一直在尝试导出:
export_builder.add_meta_graph_and_variables( sess, [tf.saved_model.tag_constants.SERVING], signature_def_map={ tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: sig })
然后我可以将其部署到ml-engine。但是,当我调用模型时,由于未初始化表而出现错误。
如何部署一个自动/默认初始化表的模型?
我尝试过的事情:
tf.tables_initializer()在任何操作之前添加作为依赖项my_model这是第一次调用部署的模型,但是每次后续调用均失败,并显示一条错误消息,告诉我该表已经初始化
将tf.tables_initializer()as作为legacy_init_op参数传递给add_meta_graph_and_variables方法。这完全无法将错误消息部署到ml-engine
创建版本失败。检测到错误的模型,并显示错误:“无法加载模型:需要一个类似字节的对象,而不是’str’(错误代码:0)”
将tf.tables_initializer()或tf.saved_model.main_op.main_op()作为main_op参数传递给add_meta_graph_and_variables方法。在每种情况下,它仍然无法通过与(2.)中相同的错误消息来部署模型: