11.3 Kubeflow Pipeline
Kubeflow pipeline é uma plataforma para workflows de Machine Learning baseado em containers. Os pipelines são desenvolvidos com a linguagem Python e traduzidos em objetos dentro do Kubernetes. Revise os conceitos do Pipeline para melhor entendimento.
Vamos fazer um exemplo ponta a ponta agora com o Kubeflow pipelines.
11.3.1 Configuração do Notebook
Antes de iniciar o exemplo precisamos criar uma configuração para que os notebooks do Kubeflow acesses o Kubeflow pipelines:
Crie um arquivo yaml como o exemplo e crie os recursos com o kubectl. Agora podemos acessar o notebook do Kubeflow e usar a configuração para acessar o Kubeflow pipeline.
Através da WebUi do Kubeflow vamos criar um Notebook Jupyter e executar o primeiro pipeline.
Vamos usar a namespace kubeflow-user-example-com criada na configuração do Kuubeflow e instalar as bibliotecas Python para manipular o pipeline via notebook. Utilize a documentação oficial para criar o notebook Jupyter.
No notebook Jupyter execute a seguinte linha para criar uma variável para utilizarmos na namespace correta:
11.3.2 Primeiros Pipelines
Agora vamos criar o primeiro pipeline:
Verifique na WebUi do Kubeflow a execução do pipeline. Repare que utilizamos o componente create_component_from_func, que transforma uma função python em um componente do Kubeflow pipeline que é utilizado pelo pipeline hello_world_pipeline.
Agora vamos criar um exemplo de steps sequenciais. Este exemplo ele baixa um arquivo txt do cloud storage e em seguida faz o print do resultado. Para que os steps sejam sequenciais é necessário que a saída de um step seja a entrada do seguinte ou podemos declarar a dependencia com a função *after:
Após a execução deste pipeline veja a execução na WebUI do Kubeflow.
Existem muitos exemplos de pipeline no repositório do Kubeflow. Teste outros exemplos como o Data passing in python components.
Last updated