gpt4 book ai didi

python - Cloud-ml 无法使用tables_initializer 部署模型

转载 作者:行者123 更新时间:2023-12-01 08:55:08 25 4
gpt4 key购买 nike

我希望将经过训练的模型部署到机器学习引擎。我可以在本地运行我的代码,例如:

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。但是,当我调用模型时,我收到错误,因为表未初始化。

如何部署自动/默认初始化表的模型?

<小时/>

我尝试过的事情:

  1. my_model 中的任何操作之前添加 tf.tables_initializer() 作为依赖项

这适用于我第一次调用部署的模型,但每次后续调用都会失败,并显示一条错误消息,告诉我表已初始化

  • tf.tables_initializer() 作为 legacy_init_op 参数传递给 add_meta_graph_and_variables 方法。
  • 这根本无法部署到 ml-engine,并显示错误消息

    Create Version failed. Bad model detected with error: "Failed to load model: a bytes-like object is required, not 'str' (Error code: 0)"

  • tf.tables_initializer()tf.saved_model.main_op.main_op() 作为 main_op 参数传递给 add_meta_graph_and_variables 方法。
  • 在每种情况下,它仍然无法部署模型,并显示与 (2.) 中相同的错误消息:

    Create Version failed. Bad model detected with error: "Failed to load model: a bytes-like object is required, not 'str' (Error code: 0)"

    最佳答案

    我们必须将表初始值设定项操作作为 main_op 传递,但最重要的是,我们需要在对 add_meta_graph_and_variables 的调用中包含 assets_collection :

    init_op = tf.tables_initializer()

    with tf.Session() as sess:
    sess.run([tf.global_variables_initializer(), init_op])
    example_result = sess.run(
    my_model,
    feed_dict=###snip###
    )

    然后


    export_builder.add_meta_graph_and_variables(
    sess,
    [tf.saved_model.tag_constants.SERVING],
    <b>main_op = init_op,</b>
    <b>assets_collection=tf.get_collection(tf.GraphKeys.ASSET_FILEPATHS),</b>
    signature_def_map={
    tf.saved_model.signature_constants.DEFAULT_SERVING_SIGNATURE_DEF_KEY: sig
    }
    )

    <小时/>

    作为(可以说更简单的)替代方案,我们可以使用 simple_save保存模型的方法

    关于python - Cloud-ml 无法使用tables_initializer 部署模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52821066/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com