2

我有一个 .py 文件,其中包含为某些数据生成预测的所有指令。这些数据取自 BigQuery,预测应插入另一个 BigQuery 表中。现在代码在 AIPlatform Notebook 上运行,但我想每天安排它的执行,有什么办法吗?

我遇到了 AIPlatform Jobs,但我不明白我的代码应该做什么以及代码的结构应该是什么,是否有任何分步指南可供遵循?

4

1 回答 1

4

您可以使用不同的选项安排 Notebook 执行:

  • nbconvert 同一技术的不同变体:

    • nbconvert:提供一种方便的方法来执行 .ipynb 笔记本文件的输入单元并将结果(输入和输出单元)保存为 .ipynb 文件。
    • papermill:是一个用于参数化和执行 Jupyter Notebooks 的 Python 包。(在后台使用 nbconvert --execute。)
    • notebook executor:此工具可用于安排 Jupyter notebook 从任何地方(本地、GCE、GCP Notebooks)到 Cloud AI Deep Learning VM 的执行。您可以在此处阅读有关此工具用法的更多信息。(在后台使用 gcloud sdk 和 papermill)
  • KubeFlow Fairing 是一个 Python 包,可以轻松地在 Kubeflow 上训练和部署 ML 模型。Kubeflow Fairing 还可以扩展以在其他平台上进行训练或部署。目前,Kubeflow Fairing 已扩展到在 Google AI Platform 上进行训练。

  • AI Platform Notebook Executor Scheduler 扩展有两个核心功能: 能够提交 Notebook 以作为具有自定义容器映像的训练作业在AI Platform 的机器学习引擎上运行。这使您可以在具有成本效益的单个 VM 环境中试验和编写训练代码,但可以扩展到 AI Platform 作业以利用优质资源(即 GPU、TPU 等)。为重复运行计划笔记本遵循完全相同的步骤顺序,但需要 crontab 格式的计划选项。

  • Nova Plugin这是 Notebook Scheduler 项目的前身。允许您直接从 Jupyter UI 执行笔记本。

  • Notebook training Python 包允许用户在 Google Cloud AI Platform Training Jobs 中运行 Jupyter notebook。

  • GCP运行器:允许在 Google Cloud Platform 上运行任何 Jupyter notebook 功能与上面列出的所有其他解决方案不同,它允许为整个项目运行训练,而不是单个 Python 文件或 Jupyter notebook 允许运行任何带参数的函数,从本地执行移动到云只是将函数包装在: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 中可用。

于 2020-06-29T17:02:49.750 回答