无法在 Google 云机器学习上进行预测,但在本地机器上同一模型却可以工作

2024-10-01 15:40:03 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在google云上使用tensorflow库来训练机器学习模型。我可以在创建一个bucket之后在云中训练模型。当我试图使用现有模型进行预测时,我正面临这个问题。代码和数据位于以下Github目录中。 https://github.com/terminator172/game-price-predictions

云上的tensorflow版本是1.8,我的系统上的tensorflow版本也是1.8

我试图通过以下输入来做出预测 “gcloudml引擎预测--model=收益--version=v8--json instances=示例输入_预缩放.json““

它因以下错误而出错 "{ “error”:“预测失败:模型执行期间出错:AbortionError(代码=StatusCode.FAILED_前提条件,details=\“正在尝试使用未初始化的值output/biases4\n\t[[节点:output/biases4/read=IdentityT=DT_FLOAT,_output_shapes=[[1]],\u device=\”/作业:本地主机/副本:0/任务:0/设备:CPU:0\"]]\")" }““


Tags: 数据代码https模型版本github目录机器
1条回答
网友
1楼 · 发布于 2024-10-01 15:40:03

错误消息表示并非所有变量都已初始化。CloudML示例中有一些示例代码演示了如何处理初始化(link),另外,我建议在TF的较新版本上使用^{}。请尝试对代码进行以下更改:

def main_op():
  init_local = variables.local_variables_initializer()
  init_tables = lookup_ops.tables_initializer()
  return control_flow_ops.group(init_local, init_tables)

[...snip...]    

# This replaces everything from your SavedModelBuilder on
tf.saved_model.simple_save(
    session,
    export_dir='exported_model',
    inputs={'input': X},
    outputs={'earnings': prediction},
    legacy_init_op=main_op)  # This line is important

相关问题 更多 >

    热门问题