如何在 google 云中使用经过训练的模型自动进行预测
How to automate predictions with a trained model in google cloud
我有来自 Firestore 中网络用户的数据。
我已经在 Google BigQuery 中插入了一些数据,以便 运行 机器学习模型。
我有训练机器学习模型的经验,但我没有训练该模型后获得新数据预测的经验。
我读到我可以将这个训练好的模型上传到 Google 云存储,然后将其放入 AI Platform,但我不知道我必须遵循的过程,因为它正在处理新数据插入到 Bigquery 中,我想用这个新数据进行预测,然后选择这个预测并将它们再次放入 Firstore。
我认为可以使用 Dataflow (Apache Beam) 或 Data composer (Airflow) 来完成,我可以在其中自动执行此过程并将其安排为每周 运行 所有过程,但我不这样做有使用这种技术的经验,谁能推荐我哪种技术更适合这种特殊情况,以便查找有关如何使用它的信息?
一种可能是将模型保存在 AI 平台或 google 云存储中,并使用云函数调用此保存的模型并进行预测以将其保存在 firestore 中?
I have read that I can upload this trained model in Google cloud storage
如果你想这样做,你可以使用数据流。您可以编写一个从 BigQuery 读取数据并将其写入 GCS 的管道。
(我不确定我是否理解您希望您的工作如何与 AI 平台和 Firestore 交互)
Bigquery ML 支持外部 Tensorflow 模型。
TensorFlow model importing. This feature allows you to create BigQuery
ML models from previously-trained TensorFlow models, then perform
prediction in BigQuery ML. See the CREATE MODEL statement for
importing TensorFlow models for more information.
所以你想要达到的是
- 在 BigQuery
中获取 table
- 为您的模型构建功能集(select 语句)
- 在 BigQuery 中创建模型(重新运行以重新训练)
- 运行 ML.PREDICT(或等价物)以获得对新数据的预测
当新数据到达 BigQuery 时,您可以
- 重新训练模型(外部或内部取决于您拥有的算法类型)
- 在预测中使用新行
为此,您需要 2 个服务:
- 一个用于为您的模型服务的预测
- 一个用于获取预测并将结果存储在 firestore
就我个人而言,我不建议您今天将您的模型存储在 AI-Platform 中(新版本应该在月底发布,但今天不行!)。我wrote an article for hosting a Tensorflow model in Cloud Run。它应该可以在另一个框架上运行,但我只构建了一个 tensorflow 模型,并将其用于我的测试。
如果您的新数据位于 BigQuery 中,并且您的模型位于 tensorflow 中,则最佳解决方案是在 BigQuery 中加载您的模型。预测是免费的,您只需为查询中的数据付费(我也在写一篇关于此的文章,但我正在等待新的 AI 平台发布以提供两种解决方案之间的正确比较)。
获得预测后(BigQuery 的结果 + 调用 Cloud 运行 或带有预测子句的 BigQuery 的结果),您必须迭代结果以将它们存储到 firestore 中。我给你推荐一个batch write to firestore
我有来自 Firestore 中网络用户的数据。
我已经在 Google BigQuery 中插入了一些数据,以便 运行 机器学习模型。
我有训练机器学习模型的经验,但我没有训练该模型后获得新数据预测的经验。
我读到我可以将这个训练好的模型上传到 Google 云存储,然后将其放入 AI Platform,但我不知道我必须遵循的过程,因为它正在处理新数据插入到 Bigquery 中,我想用这个新数据进行预测,然后选择这个预测并将它们再次放入 Firstore。
我认为可以使用 Dataflow (Apache Beam) 或 Data composer (Airflow) 来完成,我可以在其中自动执行此过程并将其安排为每周 运行 所有过程,但我不这样做有使用这种技术的经验,谁能推荐我哪种技术更适合这种特殊情况,以便查找有关如何使用它的信息?
一种可能是将模型保存在 AI 平台或 google 云存储中,并使用云函数调用此保存的模型并进行预测以将其保存在 firestore 中?
I have read that I can upload this trained model in Google cloud storage
如果你想这样做,你可以使用数据流。您可以编写一个从 BigQuery 读取数据并将其写入 GCS 的管道。
(我不确定我是否理解您希望您的工作如何与 AI 平台和 Firestore 交互)
Bigquery ML 支持外部 Tensorflow 模型。
TensorFlow model importing. This feature allows you to create BigQuery ML models from previously-trained TensorFlow models, then perform prediction in BigQuery ML. See the CREATE MODEL statement for importing TensorFlow models for more information.
所以你想要达到的是
- 在 BigQuery 中获取 table
- 为您的模型构建功能集(select 语句)
- 在 BigQuery 中创建模型(重新运行以重新训练)
- 运行 ML.PREDICT(或等价物)以获得对新数据的预测
当新数据到达 BigQuery 时,您可以
- 重新训练模型(外部或内部取决于您拥有的算法类型)
- 在预测中使用新行
为此,您需要 2 个服务:
- 一个用于为您的模型服务的预测
- 一个用于获取预测并将结果存储在 firestore
就我个人而言,我不建议您今天将您的模型存储在 AI-Platform 中(新版本应该在月底发布,但今天不行!)。我wrote an article for hosting a Tensorflow model in Cloud Run。它应该可以在另一个框架上运行,但我只构建了一个 tensorflow 模型,并将其用于我的测试。
如果您的新数据位于 BigQuery 中,并且您的模型位于 tensorflow 中,则最佳解决方案是在 BigQuery 中加载您的模型。预测是免费的,您只需为查询中的数据付费(我也在写一篇关于此的文章,但我正在等待新的 AI 平台发布以提供两种解决方案之间的正确比较)。
获得预测后(BigQuery 的结果 + 调用 Cloud 运行 或带有预测子句的 BigQuery 的结果),您必须迭代结果以将它们存储到 firestore 中。我给你推荐一个batch write to firestore