RSVP para seu evento TensorFlow Everywhere hoje mesmo!
Esta página foi traduzida pela API Cloud Translation.
Switch to English

TFX em pipelines do Cloud AI Platform

Introdução

Este tutorial foi desenvolvido para apresentar o TensorFlow Extended (TFX) e os pipelines do Cloud AI Platform e ajudá-lo a aprender a criar seus próprios pipelines de aprendizado de máquina no Google Cloud. Mostra integração com TFX, AI Platform Pipelines e Kubeflow, bem como interação com TFX em notebooks Jupyter.

No final deste tutorial, você terá criado e executado um ML Pipeline, hospedado no Google Cloud. Você será capaz de visualizar os resultados de cada execução e ver a linhagem dos artefatos criados.

Você seguirá um processo típico de desenvolvimento de ML, começando pelo exame do conjunto de dados e terminando com um pipeline de trabalho completo. Ao longo do caminho, você explorará maneiras de depurar e atualizar seu pipeline e medir o desempenho.

Conjunto de dados de táxi de Chicago

TáxiChicago taxi

Você está usando o conjunto de dados Taxi Trips divulgado pela cidade de Chicago.

Você pode ler mais sobre o conjunto de dados no Google BigQuery . Explore o conjunto de dados completo na IU do BigQuery .

Objetivo do modelo - classificação binária

O cliente dará uma gorjeta superior ou inferior a 20%?

1. Configure um projeto do Google Cloud

1.a Configure seu ambiente no Google Cloud

Para começar, você precisa de uma conta do Google Cloud. Se você já tiver um, vá para Criar novo projeto .

  1. Vá para o Console do Google Cloud .

  2. Concorde com os termos e condições do Google Cloud

  3. Se você gostaria de começar com uma conta de teste gratuita, clique em Try For Free (ou Comece gratuitamente ).

    1. Escolha o seu país.

    2. Concorde com os termos de serviço.

    3. Insira os detalhes de faturamento.

      Você não será cobrado neste momento. Se você não tem outros projetos do Google Cloud, pode concluir este tutorial sem exceder os limites do nível gratuito do Google Cloud , que inclui no máximo 8 núcleos em execução ao mesmo tempo.

1.b Crie um novo projeto.

  1. No painel principal do Google Cloud , clique na lista suspensa do projeto ao lado do cabeçalho do Google Cloud Platform e selecione Novo projeto .
  2. Dê um nome ao seu projeto e insira outros detalhes do projeto
  3. Depois de criar um projeto, selecione-o na lista suspensa de projetos.

2. Configure e implante um Pipeline do AI Platform em um novo cluster Kubernetes

  1. Acesse a página AI Platform Pipelines Clusters .

    No menu de navegação principal: ≡> AI Platform> Pipelines

  2. Clique em + Nova Instância para criar um novo cluster.

  3. Na página de visão geral dos pipelines do Kubeflow , clique em Configurar .

    Pode ser necessário esperar vários minutos antes de prosseguir, enquanto as APIs do Kubernetes Engine são habilitadas para você.

  4. Na página Deploy Kubeflow Pipelines :

    1. Selecione uma zona (ou "região") para seu cluster.

    2. IMPORTANTE Marque a caixa com o rótulo Permitir acesso às seguintes APIs de nuvem . (Isso é necessário para que este cluster acesse as outras partes do seu projeto. Se você perder esta etapa, consertá-la mais tarde é um pouco complicado.)

    3. Clique em Criar e aguarde alguns minutos até que o cluster seja criado.

    4. Selecione um namespace e nome de instância (usar os padrões está certo). Você não precisa marcar Usar armazenamento gerenciado .

    5. Clique em Implementar e aguarde alguns instantes até que o pipeline seja implementado. Ao implantar Pipelines Kubeflow, você aceita os Termos de Serviço.

3. Configure a instância do Cloud AI Platform Notebook.

  1. Acesse a página Notebooks do AI Platform .

    No menu de navegação principal: ≡ -> AI Platform -> Notebooks

  2. Se solicitado, ative a API Compute Engine.

  3. Crie uma nova instância com o TensorFlow 2.1 (ou superior) instalado.

    Nova instância -> TensorFlow 2.1 -> Sem GPU

    Para permanecer dentro dos limites do nível gratuito, não aceite as configurações padrão aqui. Você precisa reduzir o número de vCPUs disponíveis para esta instância de 4 para 2:

    1. Selecione Personalizar na parte inferior do formulário Nova instância do bloco de notas .
    2. Selecione uma configuração de máquina com 1 ou 2 vCPUs.

4. Abra o Bloco de notas de introdução

  1. Acesse a página AI Platform Pipelines Clusters .

    No menu de navegação principal: ≡ -> AI Platform -> Pipelines

  2. Na linha do cluster que você está usando neste tutorial, clique em Open Pipelines Dashboard .

    painel aberto

  3. Na página Getting Started , clique em Open TF 2.1 Notebook .

  4. Selecione a instância do Notebook que você está usando para este tutorial e Continue .

    select-notebook

5. Continue trabalhando no Notebook

Instalar

O Bloco de notas de introdução começa instalando TFX e Kubeflow Pipelines (KFP) na VM em que o Jupyter Lab está sendo executado, junto com o módulo Skaffold :

Instale tf e kfp

Em seguida, ele define o PATH para incluir o diretório binário do usuário Python e um diretório contendo skaffold :

definir caminho

Em seguida, ele verifica qual versão do TFX está instalada, faz uma importação e define e imprime a ID do projeto:

verifique a versão do python e importe

Conecte-se com seus serviços do Google Cloud

A configuração do pipeline precisa do ID do seu projeto, que pode ser obtido por meio do notebook e definido como uma variável ambiental.

# Read GCP project id from env.
shell_output=!gcloud config list --format 'value(core.project)' 2>/dev/null
GCP_PROJECT_ID=shell_output[0]
print("GCP project ID:" + GCP_PROJECT_ID)

Agora defina seu ponto final de cluster KFP.

Isso pode ser encontrado na URL do painel Pipelines. Vá para o painel do Pipeline Kubeflow e olhe para o URL. O ponto de extremidade é tudo no URL após https:// , até, e incluindo , googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

O bloco de notas define um nome exclusivo para a imagem Docker personalizada:

# Docker image name for the pipeline image
CUSTOM_TFX_IMAGE='gcr.io/' + GCP_PROJECT_ID + '/tfx-pipeline'

6. Copie um modelo para o diretório do seu projeto

Edite a próxima célula do notebook para definir um nome para o pipeline. Neste tutorial, usaremos my_pipeline .

PIPELINE_NAME="my_pipeline"
PROJECT_DIR=os.path.join(os.path.expanduser("~"),"imported",PIPELINE_NAME)

O bloco de notas então usa a CLI tfx para copiar o modelo de pipeline. Este tutorial usa o conjunto de dados Chicago Taxi para realizar a classificação binária, portanto, o modelo define o modelo para taxi :

!tfx template copy \
  --pipeline-name={PIPELINE_NAME} \
  --destination-path={PROJECT_DIR} \
  --model=taxi

O bloco de notas, então, muda seu contexto CWD para o diretório do projeto:

%cd {PROJECT_DIR}

Navegue pelos arquivos do pipeline

No lado esquerdo do Cloud AI Platform Notebook, você deve ver um navegador de arquivos. Deve haver um diretório com o nome do seu pipeline ( my_pipeline ). Abra-o e veja os arquivos. (Você também poderá abri-los e editar no ambiente do notebook.)

# You can also list the files from the shell
 ls

O comando tfx template copy acima criou uma estrutura básica de arquivos que constroem um pipeline. Isso inclui códigos-fonte Python, dados de amostra e notebooks Jupyter. Elas são destinadas a este exemplo particular. Para seus próprios pipelines, esses seriam os arquivos de suporte exigidos pelo pipeline.

Aqui está uma breve descrição dos arquivos Python.

  • pipeline - este diretório contém a definição do pipeline
    • configs.py - define constantes comuns para configs.py de pipeline
    • pipeline.py - define componentes TFX e um pipeline
  • models - este diretório contém definições de modelos de ML.
    • features.py features_test.py - define recursos para o modelo
    • preprocessing.py / preprocessing_test.py - define trabalhos de pré-processamento usando tf::Transform
    • estimator - Este diretório contém um modelo baseado em Estimador.
      • constants.py - define constantes do modelo
      • model.py / model_test.py - define o modelo DNN usando o estimador TF
    • keras - Este diretório contém um modelo baseado em Keras.
      • constants.py - define constantes do modelo
      • model.py / model_test.py - define o modelo DNN usando Keras
  • beam_dag_runner.py / kubeflow_dag_runner.py - define kubeflow_dag_runner.py para cada mecanismo de orquestração

7. Execute seu primeiro pipeline TFX no Kubeflow

O notebook executará o pipeline usando o comando tfx run CLI.

Conecte-se ao armazenamento

A execução de pipelines cria artefatos que devem ser armazenados nos metadados de ML . Artefatos se referem a cargas úteis, que são arquivos que devem ser armazenados em um sistema de arquivos ou armazenamento em bloco. Para este tutorial, usaremos o GCS para armazenar nossas cargas de metadados, usando o bucket que foi criado automaticamente durante a configuração. Seu nome será <your-project-id>-kubeflowpipelines-default .

Crie o pipeline

O notebook fará o upload de nossos dados de amostra para o intervalo GCS para que possamos usá-los em nosso pipeline posteriormente.

gsutil cp data/data.csv gs://{GOOGLE_CLOUD_PROJECT}-kubeflowpipelines-default/tfx-template/data/data.csv

O notebook então usa o comando tfx pipeline create para criar o pipeline.

!tfx pipeline create  \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT} \
--build-target-image={CUSTOM_TFX_IMAGE}

Ao criar um pipeline, Dockerfile e build.yaml serão gerados para construir uma imagem Docker. Não se esqueça de adicionar esses arquivos ao seu sistema de controle de origem (por exemplo, git) junto com outros arquivos de origem.

Execute o pipeline

O notebook então usa o comando tfx run create para iniciar uma execução de seu pipeline. Você também verá essa execução listada em Experimentos no Painel de pipelines Kubeflow.

tfx run create --pipeline-name={PIPELINE_NAME} --endpoint={ENDPOINT}

Você pode visualizar seu pipeline no Painel de pipelines do Kubeflow.

8. Valide seus dados

A primeira tarefa em qualquer projeto de ciência de dados ou ML é entender e limpar os dados.

  • Compreenda os tipos de dados para cada recurso
  • Procure anomalias e valores ausentes
  • Compreenda as distribuições de cada recurso

Componentes

Componentes de DadosComponentes de Dados

  • ExampleGen ingere e divide o conjunto de dados de entrada.
  • StatisticsGen calcula estatísticas para o conjunto de dados.
  • SchemaGen SchemaGen examina as estatísticas e cria um esquema de dados.
  • ExampleValidator procura anomalias e valores ausentes no conjunto de dados.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , descomente as linhas que anexam esses componentes ao pipeline:

# components.append(statistics_gen)
# components.append(schema_gen)
# components.append(example_validator)

( ExampleGen já estava ativado quando os arquivos de modelo foram copiados).

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Verifique o pipeline

Para o Kubeflow Orchestrator, visite o painel KFP e encontre as saídas do pipeline na página para a execução do pipeline. Clique na guia "Experiências" à esquerda e em "Todas as execuções" na página Experiências. Você deve conseguir encontrar a execução com o nome do seu pipeline.

Exemplo mais avançado

O exemplo apresentado aqui serve apenas para você começar. Para um exemplo mais avançado, consulte o TensorFlow Data Validation Colab .

Para obter mais informações sobre como usar TFDV para explorar e validar um conjunto de dados, consulte os exemplos em tensorflow.org .

9. Engenharia de recursos

Você pode aumentar a qualidade preditiva de seus dados e / ou reduzir a dimensionalidade com a engenharia de recursos.

  • Cruzamentos de recursos
  • Vocabulários
  • Embeddings
  • PCA
  • Codificação categórica

Um dos benefícios de usar TFX é que você escreverá seu código de transformação uma vez e as transformações resultantes serão consistentes entre o treinamento e o serviço.

Componentes

Transformar

  • O Transform executa a engenharia de recursos no conjunto de dados.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , encontre e descomente a linha que anexa Transform ao pipeline.

# components.append(transform)

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Verifique as saídas do pipeline

Para o Kubeflow Orchestrator, visite o painel KFP e encontre as saídas do pipeline na página para a execução do pipeline. Clique na guia "Experiências" à esquerda e em "Todas as execuções" na página Experiências. Você deve conseguir encontrar a execução com o nome do seu pipeline.

Exemplo mais avançado

O exemplo apresentado aqui serve apenas para você começar. Para um exemplo mais avançado, consulte o TensorFlow Transform Colab .

10. Treinamento

Treine um modelo TensorFlow com seus dados bonitos, limpos e transformados.

  • Inclua as transformações da etapa anterior para que sejam aplicadas de forma consistente
  • Salve os resultados como um SavedModel para produção
  • Visualize e explore o processo de treinamento usando TensorBoard
  • Também salve um EvalSavedModel para análise de desempenho do modelo

Componentes

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , encontre e descomente o que anexa o Trainer ao pipeline:

# components.append(trainer)

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Verifique as saídas do pipeline

Para o Kubeflow Orchestrator, visite o painel KFP e encontre as saídas do pipeline na página para a execução do pipeline. Clique na guia "Experiências" à esquerda e em "Todas as execuções" na página Experiências. Você deve conseguir encontrar a execução com o nome do seu pipeline.

Exemplo mais avançado

O exemplo apresentado aqui serve apenas para você começar. Para um exemplo mais avançado, consulte o Tutorial do TensorBoard .

11. Analisando o desempenho do modelo

Compreender mais do que apenas as métricas de nível superior.

  • Os usuários experimentam o desempenho do modelo apenas para suas consultas
  • O baixo desempenho em fatias de dados pode ser ocultado por métricas de nível superior
  • A justiça do modelo é importante
  • Freqüentemente, subconjuntos principais de usuários ou dados são muito importantes e podem ser pequenos
    • Desempenho em condições críticas, mas incomuns
    • Desempenho para públicos-chave, como influenciadores
  • Se você estiver substituindo um modelo que está atualmente em produção, primeiro certifique-se de que o novo é melhor

Componentes

  • O avaliador realiza uma análise profunda dos resultados do treinamento.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , encontre e descomente a linha que anexa o Evaluator ao pipeline:

components.append(evaluator)

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_runner.py \
  --endpoint={ENDPOINT}

! tfx run create --pipeline-name "{PIPELINE_NAME}"

Verifique as saídas do pipeline

Para o Kubeflow Orchestrator, visite o painel KFP e encontre as saídas do pipeline na página para a execução do pipeline. Clique na guia "Experiências" à esquerda e em "Todas as execuções" na página Experiências. Você deve conseguir encontrar a execução com o nome do seu pipeline.

12. Servindo o modelo

Se o novo modelo estiver pronto, faça-o assim.

  • Pusher implanta SavedModels em locais bem conhecidos

Alvos de implantação recebem novos modelos de locais bem conhecidos

  • Serviço TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

Componentes

  • Pusher implanta o modelo em uma infraestrutura de serviço.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , encontre e descomente a linha que anexa o Pusher ao pipeline:

# components.append(pusher)

Verifique as saídas do pipeline

Para o Kubeflow Orchestrator, visite o painel KFP e encontre as saídas do pipeline na página para a execução do pipeline. Clique na guia "Experiências" à esquerda e em "Todas as execuções" na página Experiências. Você deve conseguir encontrar a execução com o nome do seu pipeline.

Alvos de implantação disponíveis

Agora você treinou e validou seu modelo, e ele está pronto para produção. Agora você pode implantar seu modelo em qualquer um dos destinos de implantação do TensorFlow, incluindo:

  • TensorFlow Serving , para disponibilizar seu modelo em um servidor ou farm de servidores e processar solicitações de inferência REST e / ou gRPC.
  • TensorFlow Lite , para incluir seu modelo em um aplicativo móvel nativo Android ou iOS, ou em um aplicativo Raspberry Pi, IoT ou microcontrolador.
  • TensorFlow.js , para executar seu modelo em um navegador da Web ou aplicativo Node.JS

Exemplos mais avançados

O exemplo apresentado acima serve apenas para você começar. Abaixo estão alguns exemplos de integração com outros serviços em nuvem.

Considerações sobre os recursos do Kubeflow Pipelines

Dependendo dos requisitos da sua carga de trabalho, a configuração padrão para a implantação do Kubeflow Pipelines pode ou não atender às suas necessidades. Você pode personalizar suas configurações de recursos usando pipeline_operator_funcs em sua chamada para KubeflowDagRunnerConfig .

pipeline_operator_funcs é uma lista de itens OpFunc , que transforma todas as instâncias ContainerOp geradas na especificação de pipeline KFP que é compilada de KubeflowDagRunner .

Por exemplo, para configurar a memória, podemos usar set_memory_request para declarar a quantidade de memória necessária. Uma maneira típica de fazer isso é criar um wrapper para set_memory_request e usá-lo para adicionar à lista de OpFunc s de pipeline:

def request_more_memory():
  def _set_memory_spec(container_op):
    container_op.set_memory_request('32G')
  return _set_memory_spec

# Then use this opfunc in KubeflowDagRunner
pipeline_op_funcs = kubeflow_dag_runner.get_default_pipeline_operator_funcs()
pipeline_op_funcs.append(request_more_memory())
config = KubeflowDagRunnerConfig(
    pipeline_operator_funcs=pipeline_op_funcs,
    ...
)
kubeflow_dag_runner.KubeflowDagRunner(config=config).run(pipeline)

Funções de configuração de recursos semelhantes incluem:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Experimente BigQueryExampleGen

O BigQuery é um data warehouse em nuvem sem servidor, altamente escalonável e econômico. O BigQuery pode ser usado como fonte para exemplos de treinamento em TFX. Nesta etapa, adicionaremos BigQueryExampleGen ao pipeline.

No editor de arquivos do laboratório Jupyter:

Clique duas vezes para abrir pipeline.py . Comente CsvExampleGen e descomente a linha que cria uma instância de BigQueryExampleGen . Você também precisa remover o comentário do argumento de query da função create_pipeline .

Precisamos especificar qual projeto GCP usar para BigQuery, e isso é feito através da criação --project em beam_pipeline_args ao criar um pipeline.

Clique duas vezes para abrir configs.py . Remova o comentário da definição de BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS e BIG_QUERY_QUERY . Você deve substituir o ID do projeto e o valor da região neste arquivo pelos valores corretos para seu projeto do GCP.

Mude o diretório um nível acima. Clique no nome do diretório acima da lista de arquivos. O nome do diretório é o nome do pipeline, que é my_pipeline se você não alterou o nome do pipeline.

Clique duas vezes para abrir kubeflow_dag_runner.py . Remova o comentário de dois argumentos, query e beam_pipeline_args , para a função create_pipeline .

Agora o pipeline está pronto para usar o BigQuery como fonte de exemplo. Atualize o pipeline como antes e crie uma nova execução de execução como fizemos nas etapas 5 e 6.

Atualize o pipeline e execute-o novamente

# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Experimente o Dataflow

Vários componentes TFX usam o Apache Beam para implementar pipelines paralelos de dados, e isso significa que você pode distribuir cargas de trabalho de processamento de dados usando o Google Cloud Dataflow . Nesta etapa, definiremos o orquestrador Kubeflow para usar o Dataflow como back-end de processamento de dados para o Apache Beam.

# Select your project:
gcloud config set project YOUR_PROJECT_ID

# Get a list of services that you can enable in your project:
gcloud services list --available | grep Dataflow

# If you don't see dataflow.googleapis.com listed, that means you haven't been
# granted access to enable the Dataflow API.  See your account adminstrator.

# Enable the Dataflow service:

gcloud services enable dataflow.googleapis.com

Clique duas vezes no pipeline para mudar de diretório e clique duas vezes para abrir configs.py . Remova o comentário da definição de GOOGLE_CLOUD_REGION e DATAFLOW_BEAM_PIPELINE_ARGS .

Mude o diretório um nível acima. Clique no nome do diretório acima da lista de arquivos. O nome do diretório é o nome do pipeline que é my_pipeline se você não mudou.

Clique duas vezes para abrir kubeflow_dag_runner.py . Remova o comentário beam_pipeline_args . (Certifique-se também de comentar a linha atual beam_pipeline_args que você adicionou na Etapa 7.)

Atualize o pipeline e execute-o novamente

# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Você pode encontrar seus jobs do Dataflow no Dataflow no Cloud Console .

Teste o treinamento e predição do Cloud AI Platform com KFP

O TFX interopera com vários serviços gerenciados do GCP, como o Cloud AI Platform for Training and Prediction . Você pode definir o componente Trainer para usar o Cloud AI Platform Training, um serviço gerenciado para treinar modelos de ML. Além disso, quando seu modelo estiver criado e pronto para ser veiculado, você pode enviar seu modelo para o Cloud AI Platform Prediction para veiculação. Nesta etapa, definiremos nosso componente Trainer e Pusher para usar os serviços do Cloud AI Platform.

Antes de editar os arquivos, pode ser necessário habilitar a API AI Platform Training & Prediction .

Clique duas vezes no pipeline para mudar de diretório e clique duas vezes para abrir configs.py . Remova o comentário da definição de GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS e GCP_AI_PLATFORM_SERVING_ARGS . Usaremos nossa imagem de contêiner construída personalizada para treinar um modelo no Cloud AI Platform Training, então devemos definir masterConfig.imageUri em GCP_AI_PLATFORM_TRAINING_ARGS com o mesmo valor de CUSTOM_TFX_IMAGE acima.

Mude o diretório um nível acima e clique duas vezes para abrir kubeflow_dag_runner.py . Remova o comentário de ai_platform_training_args e ai_platform_serving_args .

Atualize o pipeline e execute-o novamente

# Update the pipeline
!tfx pipeline update \
--pipeline-path=kubeflow_dag_runner.py \
--endpoint={ENDPOINT}

!tfx run create --pipeline-name {PIPELINE_NAME} --endpoint={ENDPOINT}

Você pode encontrar seus jobs de treinamento em Cloud AI Platform Jobs . Se o pipeline foi concluído com sucesso, você pode encontrar seu modelo em Modelos do Cloud AI Platform .

14. Use seus próprios dados

Neste tutorial, você fez um pipeline para um modelo usando o conjunto de dados Chicago Taxi. Agora tente colocar seus próprios dados no pipeline. Seus dados podem ser armazenados em qualquer lugar que o pipeline possa acessá-los, incluindo Google Cloud Storage, BigQuery ou arquivos CSV.

Você precisa modificar a definição do pipeline para acomodar seus dados.

Se seus dados estiverem armazenados em arquivos

  1. Modifique DATA_PATH em kubeflow_dag_runner.py , indicando o local.

Se seus dados estiverem armazenados no BigQuery

  1. Modifique BIG_QUERY_QUERY em configs.py para sua instrução de consulta.
  2. Adicione recursos em models / features.py .
  3. Modifique models / preprocessing.py para transformar os dados de entrada para treinamento .
  4. Modifique models / keras / model.py e models / keras / constants.py para descrever seu modelo de ML .

Saiba mais sobre o Trainer

Consulte o guia de componentes do Trainer para obter mais detalhes sobre pipelines de treinamento.

Limpando

Para limpar todos os recursos do Google Cloud usados ​​neste projeto, você pode excluir o projeto do Google Cloud usado para o tutorial.

Como alternativa, você pode limpar recursos individuais visitando cada consoles: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine