我已将我的训练代码打包为 python 包,然后能够在 Vertex AI 上将其作为自定义训练作业运行。现在,我希望能够安排这项工作运行,比如每 2 周运行一次,然后重新训练模型。CustomJoBSpec 中的调度设置仅允许 2 个字段,“超时”和“restartJobOnWorkerRestart”,因此无法使用 CustomJobSpec 中的调度设置。我能想到的实现这一点的一种方法是使用“CustomPythonPackageTrainingJobRunOp”Google Cloud Pipeline 组件一步创建一个 Vertex AI 管道,然后安排管道以我认为合适的方式运行。是否有更好的选择来实现这一目标?
编辑:
我能够使用 Cloud Scheduler 安排自定义训练作业,但我发现在 AIPlatformClient 中使用 create_schedule_from_job_spec 方法在 Vertex AI 管道中非常易于使用。我在 gcp 中使用 Cloud Scheduler 安排自定义作业的步骤如下,链接到谷歌文档:
- 将目标类型设置为 HTTP
- 对于指定自定义作业的 url,我按照此链接获取 url
- 对于身份验证,在 Auth 标头下,我选择了“添加 OAauth 令牌”
您还需要在项目中拥有一个“Cloud Scheduler 服务帐户”以及“授予它的 Cloud Scheduler 服务代理角色”。虽然文档说如果您在 2019 年 3 月 19 日之后启用 Cloud Scheduler API,这应该已经自动设置,但对我来说并非如此,并且必须手动添加具有角色的服务帐户。