针对BigQuery ML中的TensorFlow模型的ML.PREDICT多列输入

问题描述 投票:0回答:2

我训练了TensorFlow分类器,并使用CREATE MODEL在BigQuery ML中将其创建为模型。现在,我想使用ML.PREDICT使用该模型进行批量预测。我收到错误“无效的表值函数ml.predict在PREDICT函数的输入数据中找不到列输入。”

这是我的查询:

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

在BigQuery文档中,他们给出了一个TensorFlow模型的示例,其中单列的别名为input,因此TensorFlow input_fn可以接受它。但是,此分类器接受数百个功能。如何指定传递给ML.PREDICT的查询,以便它使用all功能表中的列?

tensorflow google-bigquery
2个回答
0
投票

将模型加载到BigQuery ML中后,在BigQuery UI中单击模型,然后切换到“模式”选项卡。这应该告诉您模型需要什么功能(列名)。

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

或者,在模型上运行程序save_model_cli(这是tensorflow附带的python程序,以查看受支持的签名是什么]

saved_model_cli show --dir $export_path --all

-1
投票

目前无法通过AutoML Beginners guide使用多列:

您的模型将学会预测的数据集中的一列称为目标。其他一些数据列是模型将从其学习模式的输入(称为特征)。您只需更改目标即可使用相同的输入功能来构建多种模型。

也找到了Multi-target AutoML Tables Request的此功能请求>

© www.soinside.com 2019 - 2024. All rights reserved.