GCP 每天都会对模型进行预测
Posted
技术标签:
【中文标题】GCP 每天都会对模型进行预测【英文标题】:GCP run a prediction of a model every day 【发布时间】:2020-10-19 20:51:24 【问题描述】:我有一个 .py 文件,其中包含为某些数据生成预测的所有指令。 这些数据取自 BigQuery,预测应插入另一个 BigQuery 表中。 现在代码在 AIPlatform Notebook 上运行,但我想安排它每天执行,有什么办法吗?
我遇到了 AIPlatform Jobs,但我不明白我的代码应该做什么以及代码的结构应该是什么,有什么分步指南可以遵循吗?
【问题讨论】:
【参考方案1】:您可以使用不同的选项安排 Notebook 执行:
nbconvert 同一技术的不同变体:
nbconvert:提供一种便捷的方式来执行 .ipynb 笔记本文件的输入单元格并将结果(包括输入单元格和输出单元格)保存为 .ipynb 文件。 papermill:是一个用于参数化和执行 Jupyter Notebooks 的 Python 包。 (在后台使用 nbconvert --execute。) notebook executor:此工具可用于安排 Jupyter notebook 从任何地方(本地、GCE、GCP Notebooks)到 Cloud AI Deep Learning VM 的执行。你可以阅读更多关于这个工具的用法here。 (在后台使用 gcloud sdk 和 papermill)KubeFlow Fairing 是一个 Python 包,可以轻松地在 Kubeflow 上训练和部署 ML 模型。 Kubeflow Fairing 还可以扩展以在其他平台上进行训练或部署。目前,Kubeflow Fairing 已扩展到在 Google AI Platform 上进行训练。
AI Platform Notebook Executor调度器扩展有两个核心功能: 能够提交笔记本以在 AI Platform’s Machine Learning Engine 上运行,作为具有自定义容器映像的训练作业。这使您可以在具有成本效益的单个 VM 环境中试验和编写训练代码,但可以扩展到 AI Platform 作业以利用优质资源(即 GPU、TPU 等)。 调度 Notebook 以进行重复运行遵循完全相同的步骤顺序,但需要 crontab 格式的调度选项。
Nova Plugin: 这是 Notebook Scheduler 项目的前身。允许您直接从 Jupyter UI 执行笔记本。
Notebook training Python 包允许用户在 Google Cloud AI Platform Training Jobs 中运行 Jupyter notebook。
GCP runner: 允许在 Google Cloud Platform 上运行任何 Jupyter notebook 功能
与上面列出的所有其他解决方案不同,它允许为整个项目运行训练,而不是单个 Python 文件或 Jupyter 笔记本
允许运行任何带参数的函数,从本地执行转移到云端只需将函数包装在:gcp_runner.run_cloud(<function_name>, …)
调用中。
该项目无需任何修改即可投入生产
支持在本地(用于测试目的)、AI 平台和 Kubernetes 环境中执行完整的端到端示例可以在这里找到:
https://www.github.com/vlasenkoalexey/criteo_nbdev
tensorflow_cloud(Keras for GCP)提供的 API 可让您轻松从在本地环境中调试和训练 Keras 和 TensorFlow 代码到在云端进行分布式训练。
2021 年 7 月更新:
GCP 中推荐的选项是 Notebook Executor,它已在 EAP 中可用。
【讨论】:
以上是关于GCP 每天都会对模型进行预测的主要内容,如果未能解决你的问题,请参考以下文章