我训练了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功能表中的列?
将模型加载到BigQuery ML中后,在BigQuery UI中单击模型,然后切换到“模式”选项卡。这应该告诉您模型需要什么功能(列名)。
创建TensorFlow / Keras模型时,可能没有为输入节点分配名称。然后,功能名称可能已被自动分配给int1和float2之类的东西。
或者,在模型上运行程序save_model_cli(这是tensorflow附带的python程序,以查看受支持的签名是什么]
saved_model_cli show --dir $export_path --all
目前无法通过AutoML Beginners guide使用多列:
您的模型将学会预测的数据集中的一列称为目标。其他一些数据列是模型将从其学习模式的输入(称为特征)。您只需更改目标即可使用相同的输入功能来构建多种模型。
也找到了Multi-target AutoML Tables Request的此功能请求>