Kubeflow 0.1 发布,基于 Kubernetes 的机器学习工具库
- 2018-05-08 10:15:00
- Kubernetes
- 转贴:
- linuxeden
- 5832
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 |