简述
Kubeflow是的机器学习工具包。Kubeflow是运行在K8S之上的一套技术栈,这套技术栈包含了很多组件,组件之间的关系比较松散,我们可以配合起来用,也可以单独用其中的一部分。
在这里暂不对 Kubeflow 的各个租金进行赘述,我们简单了解一下机器学习的简单流程。
当我们开发和部署ML(MachineLearning)系统时,我们需要评估 ML 工作流各个阶段的输出,并在必要时对模型和参数进行更改,以确保模型不断产生所需的结果,这是一个反复的过程,通常包括几个流程:
- 确定 ML 系统研究的问题并对其收集数据。
- 选择对应的 ML 算法并且对其编码。
- 试验这些数据和训练模型
- 调整模型
kubeflow支持的 ML 的框架有: Chainer、MPI、MXNet、PyTorch、TensorFlow
Kubeflow依靠开源编程系统TensorFlow来构建机器学习模型。它的软件库使用张量几何结构,以有状态的数据流图这种形式来表示数据之间的线性关系。它将硬件平台抽取出来,让模型可以在CPU(中央处理单元)、GPU(图形处理单元)或TPU(张量处理单元)上运行。
Kubeflow有三个核心组件
TFJob, Operator 和 Controller:
作为Kubernetes的扩展,来简化分布式TensorFlow工作负载的部署。 通过Operator,Kubeflow能够自动化的配置 master服务器,工作服务器和参数化服务器配置。 TFJob可用来部署工作负载。
部署
建议使用云服务器,自己的服务器可能带不动整个部署。
这里使用官方文档的下载方式:kubeflow下载
环境准备
1. 下载 kfctl 包