Kubeflow 0.1 发布,基于 Kubernetes 的机器学习工具库

2018-05-08 10:15:00
Kubernetes
转贴:
linuxeden
1059

Google 发布了 Kubeflow 开源工具 0.1 版本,该工具旨在将机器学习带入 Kubernetes 容器的世界。该项目背后的想法是让数据科学家充分利用在 Kubernetes 集群上运行机器学习任务的优势。Kubeflow 可以让机器学习团队将现有任务轻松放到集群中运行,而无需作出太多改变。


随着 0.1 版本的发布,该项目将开始推进,并将通过博客公布里程碑,将稳定性提高到一个新的水平,同时还会增加大量社区一直呼吁的新功能。其中包括为 Jupyter Hub 提供用于机器学习任务的协作和交互式训练以、Tensorflow 训练及托管支持等。

Kubeflow 0.1 简介

Kubeflow 0.1 提供了一套最精简的软件开发包,用于开发,训练和部署 ML。只需几个命令,就可以获得:

  • Jupyter Hub:用于机器学习任务的协作和交互式训练
  • TensorFlow 训练控制器:支持原生的分布式训练
  • TensorFlow 服务:用于服务托管
  • Argo:工作流
  • SeldonCore:用于复杂推断及非 TF 模型
  • Ambassador:反向代理
  • Wiring:可以使 Kubeflow 在任意 Kubernetes 上运行

下面是入门示例:


 # 为 kubeflow 开发环境创建 namespace
NAMESPACE=kubeflow
kubectl create namespace ${NAMESPACE}
VERSION=v0.1.3
# #初始化 ksonnet 应用,设置 namespace 为其默认环境变量
APP_NAME=my-kubeflow
ks init ${APP_NAME}
cd ${APP_NAME}
ks env set default --namespace ${NAMESPACE}
# #安装 Kubeflow 组件
ks registry add kubeflow github.com/kubeflow/kubeflow/tree/${VERSION}/kubeflow
ks pkg install kubeflow/core@${VERSION}
ks pkg install kubeflow/tf-serving@${VERSION}
ks pkg install kubeflow/tf-job@${VERSION}
# #为核心组件创建模板
ks generate kubeflow-core kubeflow-core
# #部署 Kubeflow
ks apply default -c kubeflow-core


至此,JupyterHub 已部署,我们现在可以使用 Jupyter 开始开发模型。一旦有了 Python 代码来构建模型,我们就可以构建一个 Docker 镜像并使用 TFJob 运算符通过运行如下命令来训练模型:


ks generate tf-job my-tf-job --name=my-tf-job --image=gcr.io/my/image:latest
ks apply default -c my-tf-job
# #下面部署模型
ks generate tf-serving ${MODEL_COMPONENT} --name=${MODEL_NAME}
ks param set ${MODEL_COMPONENT} modelPath ${MODEL_PATH}
ks apply ${ENV} -c ${MODEL_COMPONENT}


只需要几个命令,数据科学家和软件工程师就可以创建更复杂的 ML 解决方案,并专注于他们最擅长的事情:解决核心业务问题。

发表评论
零 减 玖 =
评论通过审核后显示。
文章分类
联系我们
联系人: 王春生
Email: chunsheng@cnezsoft.com