首页 > 解决方案 > ML.PREDICT 的多列输入,用于 BigQuery ML 中的 TensorFlow 模型

问题描述

我训练了一个 TensorFlow 分类器,并使用CREATE MODEL. 现在我想ML.PREDICT用这个模型来批量预测。我收到错误“在 PREDICT 函数的输入数据中找不到无效的表值函数 ml.predict 列输入。”

这是我的查询:

select * from ml.predict (
  model test.digital_native_classifier_kf, 
  (select * from dataset_id.features_table_id)
)

在 BigQuery 文档中,他们给出了一个 TensorFlow 模型的示例,该模型具有一个别名,input以便 TensorFlowinput_fn可以接受它。然而,这个分类器接受数百个特征。如何指定传递给的查询,ML.PREDICT以便它使用我的特征表中的所有列?

标签: tensorflowgoogle-bigquery

解决方案


将模型加载到 BigQuery ML 后,单击 BigQuery UI 中的模型并切换到“架构”选项卡。这应该告诉您模型需要哪些特征(列名)。

当您创建 TensorFlow/Keras 模型时,您可能没有为输入节点分配名称。然后,功能名称可能已自动分配给 int1 和 float2 之类的名称。

或者,在模型上运行程序 saved_model_cli(它是一个 tensorflow 附带的 python 程序)以查看支持的签名是什么

saved_model_cli show --dir $export_path --all

推荐阅读