上学期主要工作:用懂Kuebeflow。
下学期考虑方向:读懂Kubeflow。
这是Kubeflow的项目源码:
主要分为这几个模块:
- Kubeflow/Kubeflow :Machine Learning Toolkit for Kubernetes
- Kubeflow/pipelines :Machine Learning Pipelines for Kubeflow
- Kubeflow/training-operator :Training operators on Kubernetes
- Kubeflow/katib : Repository for hyperparameter tuning
各Repository代码占比如下:
Kubeflow/Kubeflow:
注:Jsonnet主要指Yaml文件。
主要由Yaml文件,少量Python及Go组成。
Kubeflow/pipelines:
主要由Python、TypeScript(前端?)、Go组成。
Kubeflow/training-operator:
主要由Go、Python组成。
Kubeflow/katib:
主要由Python、TypeScrtpt、Go组成。
这边再补充下Elyra:
Elyra:
主要由Python,TypeScript、Css(前端)组成。
个人看法:
KubeFlow主要通过Python完成算法的相关部分、通过Go在k8s上部署工具、服务等;通过TypeScript、Css等完成前端部分。
所以个人的一个初步计划是:
学Go,并逐步深入琢磨KubeFlow主要模块的关键代码。
完成读懂这一步后,或许可以考虑构建自己的Miniflow?