专栏首页容器计算Kubeflow Pipeline 部署记录

Kubeflow Pipeline 部署记录

1 Overview

Kubeflow 集成了机器学习的很多组件,比如训练、调参、模型部署,也包括了像 Tensorflow, Pytorch 等框架的支持。另外就是其还提供了 Pipeline 组件,用于用户定义机器学习的流程,从开始 -> 训练 -> 保存模型,等常见的机器学习任务流。

本文主要从单独部署和测试,两个方面,展示一下使用 Pipeline 的姿势。

2 Deploy

Pipeline 作为 Kubeflow 的组件之一,其实是可以单独部署的,方法可以参考 Github 上的文档。

https://github.com/kubeflow/pipelines/tree/master/manifests/kustomize

明确一下部署的目标,本文只针对给一个 K8S 集群上部署 Pipeline,不在 GCP 也不在 AWS 这些云厂商上,并且是通过 port-forward 来访问 UI。

根据部署的目标,我们需要去掉 proxy 这个模块,也就是修改文件的红色方框的部分,从原文件删除。

另外注意一下 kubectl 的版本。

# 克隆项目
git clone https://github.com/kubeflow/pipelines.git
# 注意目录不要错
cd pipelines/manifests/kustomize/namespaced-install
# 创建 kubeflow 命名空间
kubectl creat ns kubeflow
# 执行部署
kubectl kustomize . | kubectl apply -f -

这是部署的过程。建议详细看看部署了什么资源。

部署成功之后的 UI 还是相当简洁的。

举个例子,Conditional execution,也就是条件运行的一个 Pipeline。

整个 Pipeline 是一个有向无环图,不过他有一些条件,比如说满足 condition1 会走左分支。

3 Summary

Pipeline 是基于 Argo 来做的,本质是一个容器工作流,所以背后的 Run 实际上都是一些容器。

Pipeline 可以帮助用户构建机器学习的任务流,通过组成 DAG 来串联起数据处理的过程,不过在描绘 Pipeline 的时候,需要用到该项目提供的 Python SDK,这是需要一定的学习成本的,虽然官网也提供了一些教程,但是总体而言,还是有点麻烦,暂时还不确定是否可以在 DAG 中加入时间调度的因素,后面还会继续展开。

Reference

  1. https://github.com/kubeflow/pipelines/tree/master/manifests/kustomize

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • Spark两个rdd join发生数据倾斜的典型情况

    有两个RDD,分别是RDDA[Ka, Va] 和 RDDB[Kb, Vb],数据量都比较大,在做join操作的时候,可以看出,shuffle read 有严重的...

    runzhliu
  • Spark 2.2/2.3/2.4 的 Dynamic Resource Allocation

    因为有计划将 K8S 上的 Spark 2.2 升级到更新的版本,关于动态资源扩展,是一个比较关心的问题。

    runzhliu
  • Go mod 常见问题(持续更新)

    这需要用到 go mod 的 replace 来调整,具体就是往 go.mod 插入一条记录。

    runzhliu
  • 腾讯又买米!ADH.com等多枚域名曝出被终端买走

    近期又有不少含义不错的域名被收购,而且也有大终端的身影,正可谓域名的市场时时刻刻都处于火爆状态!究竟是哪些域名又被收购了?我们起来看看!

    躲在树上的域小名
  • sshpass的使用方法

    命令:sshpass -p '密码' ssh root@192.168.11.11 【默认为22端口】

    yaohong
  • 【Rust日报】2020-01-25 Rust 2020 路线图,typed-builder,format!

    typed-builder,创建经过编译时验证的构建器,发布了v0.5.0版本。示例:

    MikeLoveRust
  • 以“犀牛鸟的名义”,助力青年学者

    2016年度CCF-腾讯犀牛鸟基金共计支持18项科研基金,22项创意基金。在过去的一年中,基金获奖者与腾讯研发团队在前沿科技领域的开展深入合作。 双方根据共同关...

    腾讯高校合作
  • 编程思想 之「异常及错误处理」

    在 Java 的异常及错误处理机制中,用Throwable这个类来表示可以作为异常被抛出的类。Throwable对象可以细分为两种类型(指从Throwable继...

    CG国斌
  • 127个常用的JS代码片段,每段代码花30秒就能看懂(六)

    大家好,今天我继续给大家分享本系列文章的最后一部分,感谢你对本系列文章的持续关注,希望对你的日常工作有所帮助。

    前端达人
  • 编程思想 之「异常及错误处理」

    在 Java 的异常及错误处理机制中,用Throwable这个类来表示可以作为异常被抛出的类。Throwable对象可以细分为两种类型(指从Throwable继...

    CG国斌

扫码关注云+社区

领取腾讯云代金券