如何使用Google Cloud中经过训练的模型自动进行预测

时间:2019-10-18 01:31:01

标签: google-cloud-platform google-bigquery google-cloud-dataflow google-cloud-composer

我有来自Firestore中网络用户的数据。

我已经在Google BigQuery中插入了一些数据,以便运行机器学习模型。

我有训练机器学习模型的经验,但是一旦训练了模型,我就没有获得新数据预测的经验。

我已经读到可以将经过训练的模型上传到Google云存储中,然后将其放入AI平台中,但是我不知道必须遵循的过程,因为新数据将被插入到Bigquery中,借助这些新数据,我想进行预测,然后选择这些预测,然后再次将它们放入Firstore。

我认为可以通过Dataflow(Apache Beam)或Data composer(Airflow)来完成,我可以在其中自动化该过程并将其安排为每周运行所有过程,但是我没有使用该技术的经验,有人可以推荐我哪种技术对这种特殊情况更好,以查找有关如何使用它的信息?

一种可能性是将模型保存在AI平台或Google云存储中,并通过云功能调用此保存的模型并做出预测以将其保存在Firestore中?

3 个答案:

答案 0 :(得分:2)

Bigquery ML支持外部Tensorflow模型。

  

TensorFlow模型导入。此功能可让您创建BigQuery   来自先前训练过的TensorFlow模型的ML模型,然后执行   BigQuery ML中的预测。 See the CREATE MODEL statement的   导入TensorFlow模型以获取更多信息。

所以你想要实现的是

  • 在BigQuery中获取表格
  • 为模型构建功能集(选择语句)
  • 在BigQuery中创建模型(重新运行以进行重新训练)
  • 运行ML.PREDICT(或同等功能)以获取有关新数据的预测

随着新数据进入BigQuery,您可以
-重新训练模型(外部或内部取决于您使用的算法类型)
-在预测中使用新行

https://cloud.google.com/bigquery-ml/docs/bigqueryml-intro

答案 1 :(得分:1)

为此,您需要两项服务:

  1. 一个用于模型预测的
  2. 一种用于获取预测并将结果存储在Firestore中的

就个人而言,我不建议您今天将模型存储在AI平台中(应该在月底发布一个新版本,但是今天不行!)。我wrote an article for hosting a Tensorflow model in Cloud Run。它应该可以在另一个框架上工作,但是我只建立了一个张量流模型,并且将其用于测试。

如果新数据在BigQuery中并且模型在tensorflow中,则最佳解决方案是在BigQuery中加载模型。预测是免费的,您只需为查询中的数据付费(我也在写一篇文章,但是我正在等待新的AI平台版本提供两种解决方案之间的正确比较)。

获得预测后(BigQuery的结果+调用Cloud Run的结果或使用带有预测子句的BigQuery的结果),您必须迭代结果以将其存储到firestore中。我建议您使用batch write to firestore

答案 2 :(得分:-1)

  

我已阅读到可以将经过训练的模型上传到Google云存储中

如果要执行此操作,可以使用Dataflow。您可以编写管道来从BigQuery读取数据,然后将其写入GCS。

(我不确定我是否了解您希望您的工作如何与AI平台和Firestore交互)