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 開發環境創建 namespaceNAMESPACE=kubeflowkubectl create namespace ${NAMESPACE}VERSION=v0.1.3# #初始化 ksonnet 應用,設置 namespace 為其默認環境變量APP_NAME=my-kubeflowks init ${APP_NAME}cd ${APP_NAME}ks env set default --namespace ${NAMESPACE}# #安裝 Kubeflow 組件ks registry add kubeflow github.com/kubeflow/kubeflow/tree/${VERSION}/kubeflowks 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# #部署 Kubeflowks 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:latestks 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 解決方案,並專注於他們最擅長的事情:解決核心業務問題。
來自:Docker微信公眾號
原文:https://kubernetes.io/blog/2018/05/04/announcing-kubeflow-0.1/