Kubeflow 基于 Kubernetes 的机器学习工具库开源项目

我要开发同款
匿名用户2017年12月12日
38阅读
开发技术Python
所属分类人工智能、机器学习/深度学习
授权协议Apache

作品详情

Kubeflow是谷歌发布的一个机器学习工具库,Kubeflow项目旨在使Kubernetes上的机器学习变的轻松、便捷、可扩展,其目标不是重建其他服务,而是提供一种简便的方式找到最好的OSS解决方案。该库包含包含的清单用于创建:

用于创建和管理交互式Jupyternotebook的JupyterHub

可配置为使用CPU或GPU,并通过单一设置调整至单个集群大小的TensorFlow训练控制器(TensorflowTrainingController)

TF服务容器(TFServingcontainer)

该文档详述在可运行Kubernetes的任何环境中运行kubeflow项目的步骤。

Kubeflow目标

其目标是通过发挥Kubernetes的特长,从而更便捷地运用机器学习:

在不同的基础设施上实现简单、可重复的便携式部署(笔记本<->ML装备<->训练集群<->生产集群)

部署和管理松散耦合的微服务

根据需求进行扩展

由于机器学习从业者可供使用的工具非常多,所以核心目标是你可以根据需求自定义堆栈,并让系统处理无赖的东西」。虽然我们已开始使用少许技术,但我们正在与很多不同项目展开合作,以涵盖更多额外的工具。最终,我们希望给出一组简单的清单,只要在Kubernetes已运行的地方便能轻松使用ML堆栈,并可根据部署的集群实现自我配置。

设置

该文档假设你已经有一个可用的Kubernetes集群。对于具体的Kubernetes安装,可能需要额外的配置。

Minikube

Minikube是一个让我们在本地运行Kubernetes更方便的工具。Minikube会在笔记本的虚拟环境中运行一个单结点Kubernetes集群,从而令用户可以在该环境中试验它或执行日常的开发工作。下面的步骤适用于Minikube集群,本文档当前使用的是最新版0.23.0,我们必须配置Kubectl才能访问Minikube。

谷歌Kubernetes引擎

谷歌Kubernetes引擎是一个可用于部署容器化应用的托管环境。它融合了提高开发生产力、有效利用资源、自动化运维和开源灵活性方面的最新创新技术,能够加快模型进入市场以及迭代的时间。

谷歌在容器中运行生产工作负载的经验已超过15年,他们将在此期间学到的经验知识融入到了Kubernetes中。因此,Kubernetes是行业领先的开源容器协调系统,为KubernetesEngine提供技术支持。

如果读者正在使用谷歌Kubernetes引擎,在创建清单前,我们应该先授予自己所要求的RBAC角色,因而才能创建或编辑其它RBAC角色。

kubectl create clusterrolebinding default-admin --clusterrole=cluster-admin --user=user@gmail.com
声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论