首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何从GCP云构建管道提交GCP AI平台培训作业?

如何从GCP云构建管道提交GCP AI平台培训作业?
EN

Stack Overflow用户
提问于 2020-12-15 15:58:30
回答 1查看 449关注 0票数 1

我有一个非常标准的CI管道,使用Cloud Build作为基于容器的机器学习培训模型:

  • 使用flake8检查python错误
  • 使用pylint检查语法和样式问题.
  • 构建一个基本容器(CPU/GPU)
  • 为我的模型构建一个专门的ML容器
  • 检查已安装软件包的漏洞
  • 运行测试单元

现在,在机器学习中,如果不使用实际数据对模型进行测试,就不可能验证模型。通常,我们会增加2张额外的支票:

  • 修复所有随机种子并在测试数据上运行,以查看我们是否找到了完全相同的结果。
  • 对模型进行批量训练,看看是否能过火,使损失降到零。

这允许捕获模型代码中的问题。在我的设置中,我的Cloud Build在构建GCP项目中,数据在另一个GCP项目中。

Q1:是否有人在Cloud Build中使用AI Platform training服务来训练另一个GCP项目中的数据?

Q2:如何告诉Cloud等待AI Platform training作业完成并检查状态(成功/失败)?在查看文档链接时,似乎唯一的选择是使用--stream-logs,但这似乎不是最优的(使用这样的选项,我看到了一些巨大的延迟)。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2020-12-15 20:52:11

提交AI平台培训作业时,可以指定一个使用服务帐户电子邮件

确保服务帐户在其他项目中有足够的授权来使用来自那里的数据。

对于你的第二个问题,你有两个解决方案

  • 正如您提到的那样,使用--stream-logs。如果不希望云构建中的日志,可以将stdout和/或stderr重定向到/dev/null
代码语言:javascript
复制
- name: name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args:
    - -c
    - |
         gcloud ai-platform jobs submit training <your params> --stream-logs >/dev/null 2>/dev/null

或者您可以创建一个检查状态的无限循环。

代码语言:javascript
复制
- name: name: 'gcr.io/cloud-builders/gcloud'
  entrypoint: 'bash'
  args:
    - -c
    - |
        JOB_NAME=<UNIQUE Job NAME>
        gcloud ai-platform jobs submit training $${JOB_NAME} <your params> 
        # test the job status every 60 seconds
        while [ -z "$$(gcloud ai-platform jobs describe $${JOB_NAME} | grep SUCCEEDED)" ]; do sleep 60; done

这里我的测试很简单,但是您可以根据需要自定义状态测试。

不要忘记按预期设置超时。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65309371

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档