TFX em pipelines do Cloud AI Platform

Introdução

Este tutorial foi desenvolvido para apresentar o TensorFlow Extended (TFX) e o AIPlatform Pipelines e ajudar você a aprender a criar seus próprios pipelines de aprendizado de máquina no Google Cloud. Ele 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 pipeline de ML, hospedado no Google Cloud. Você poderá visualizar os resultados de cada execução e visualizar a linhagem dos artefatos criados.

Você seguirá um processo típico de desenvolvimento de ML, começando examinando o 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áxitáxi de Chicago

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á gorjeta de mais ou menos de 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, pule para Criar novo projeto .

  1. Acesse o Console do Google Cloud .

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

  3. Se você quiser começar com uma conta de avaliação gratuita, clique em Experimentar Gratuitamente (ou Começar 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 tiver outros projetos do Google Cloud, poderá concluir este tutorial sem exceder os limites do nível gratuito do Google Cloud , que inclui um máximo de 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, certifique-se de selecioná-lo no menu suspenso do projeto.

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

  1. Acesse a página Clusters de pipelines do AI Platform .

    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 do Kubeflow Pipelines , clique em Configurar .

  4. Clique em "Ativar" para ativar a API do Kubernetes Engine

  5. Na página Implantar pipelines do Kubeflow :

    1. Selecione uma zona (ou "região") para seu cluster. A rede e a sub-rede podem ser configuradas, mas para os propósitos deste tutorial vamos deixá-las como padrão.

    2. IMPORTANTE Marque a caixa 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, corrigi-la mais tarde será um pouco complicado.)

    3. Clique em Criar novo cluster e aguarde alguns minutos até que o cluster seja criado. Isto leverá alguns minutos. Quando terminar, você verá uma mensagem como:

      Cluster "cluster-1" criado com sucesso na zona "us-central1-a".

    4. Selecione um namespace e um nome de instância (usar os padrões é bom). Para os propósitos deste tutorial, não marque executor.emissary ou managedstorage.enabled .

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

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

  1. Acesse a página Vertex AI Workbench . Na primeira vez que você executar o Workbench, você precisará habilitar a API do Notebooks.

    No menu de navegação principal: ≡ -> Vertex AI -> Workbench

  2. Se solicitado, ative a API Compute Engine.

  3. Crie um novo notebook com o TensorFlow Enterprise 2.7 (ou superior) instalado.

    Novo notebook -> TensorFlow Enterprise 2.7 -> Sem GPU

    Selecione uma região e zona e dê um nome à instância do notebook.

    Para permanecer dentro dos limites do nível gratuito, talvez seja necessário alterar as configurações padrão aqui para reduzir o número de vCPUs disponíveis para esta instância de 4 para 2:

    1. Selecione Opções avançadas na parte inferior do formulário Novo bloco de anotações.
    2. Em Configuração da máquina, você pode selecionar uma configuração com 1 ou 2 vCPUs se precisar permanecer no nível gratuito.

    3. Aguarde a criação do novo notebook e clique em Enable Notebooks API

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

  1. Acesse a página Clusters de pipelines do AI Platform .

    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 .

  3. Na página Primeiros passos , clique em Abrir um bloco de anotações do Cloud AI Platform no Google Cloud .

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

    selecione-notebook

5. Continue trabalhando no Notebook

Instalar

O notebook de introdução começa instalando o TFX e o Kubeflow Pipelines (KFP) na VM em que o Jupyter Lab está sendo executado.

Em seguida, ele verifica qual versão do TFX está instalada, faz uma importação e define e imprime o 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 seu ID de projeto, que você pode obter no notebook e definir como uma variável de ambiente.

# 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 endpoint de cluster KFP.

Isso pode ser encontrado na URL do painel Pipelines. Acesse o painel do Kubeflow Pipeline e veja a URL. O endpoint é tudo no URL, começando com https:// , até e incluindo googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

O notebook define um nome exclusivo para a imagem personalizada do Docker:

# 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 seu pipeline. Neste tutorial usaremos my_pipeline .

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

O notebook então usa a CLI do 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 como taxi :

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

O notebook então altera seu contexto CWD para o diretório do projeto:

%cd {PROJECT_DIR}

Navegue pelos arquivos de 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 visualize os arquivos. (Você também poderá abri-los e editá-los no ambiente do notebook.)

# You can also list the files from the shell
 ls

O comando tfx template copy acima criou um scaffold básico de arquivos que constroem um pipeline. Isso inclui códigos-fonte Python, dados de amostra e notebooks Jupyter. Estes são destinados a este exemplo específico. 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 executores 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 as 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 as constantes do modelo
      • model.py / model_test.py — define o modelo DNN usando Keras
  • beam_runner.py / kubeflow_runner.py — define executores 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.

Conectar ao armazenamento

A execução de pipelines cria artefatos que precisam ser armazenados em ML-Metadata . Artefatos referem-se 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 .

Criar o pipeline

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

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

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

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

Ao criar um pipeline, o Dockerfile será gerado para criar uma imagem do 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.

Executar 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 do Kubeflow Pipelines.

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

Você pode visualizar seu pipeline no painel do Kubeflow Pipelines.

8. Valide seus dados

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

  • Entenda os tipos de dados para cada recurso
  • Procure por anomalias e valores ausentes
  • Entenda 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 Jupyter lab:

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

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

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

Atualize o pipeline e execute-o novamente

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

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

Verifique a tubulação

Para o Kubeflow Orchestrator, visite o painel KFP e encontre as saídas do pipeline na página da execução do pipeline. Clique na guia "Experiências" à esquerda e "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 é realmente apenas para você começar. Para obter um exemplo mais avançado, consulte o TensorFlow Data Validation Colab .

Para obter mais informações sobre como usar o 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 engenharia de recursos.

  • Cruzamentos de recursos
  • Vocabulários
  • Incorporações
  • PCA
  • Codificação categórica

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

Componentes

Transformar

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

No editor de arquivos do Jupyter lab:

Em pipeline / pipeline.py , localize e descomente a linha que acrescenta Transform ao pipeline.

# components.append(transform)

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_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 da execução do pipeline. Clique na guia "Experiências" à esquerda e "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 é realmente apenas para você começar. Para obter um exemplo mais avançado, consulte o TensorFlow Transform Colab .

10. Treinamento

Treine um modelo do 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 o TensorBoard
  • Salve também um EvalSavedModel para análise do desempenho do modelo

Componentes

No editor de arquivos do Jupyter lab:

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

# components.append(trainer)

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_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 da execução do pipeline. Clique na guia "Experiências" à esquerda e "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 é realmente apenas para você começar. Para obter 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
  • Muitas vezes, subconjuntos-chave 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 seja melhor

Componentes

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

No editor de arquivos do Jupyter lab:

Em pipeline / pipeline.py , localize e descomente a linha que acrescenta Evaluator ao pipeline:

components.append(evaluator)

Atualize o pipeline e execute-o novamente

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_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 da execução do pipeline. Clique na guia "Experiências" à esquerda e "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 conhecidos

Os destinos de implantação recebem novos modelos de locais conhecidos

  • Exibição do TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • Hub do TensorFlow

Componentes

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

No editor de arquivos do Jupyter lab:

Em pipeline / pipeline.py , localize 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 da execução do pipeline. Clique na guia "Experiências" à esquerda e "Todas as execuções" na página Experiências. Você deve conseguir encontrar a execução com o nome do seu pipeline.

Destinos de implantação disponíveis

Agora você treinou e validou seu modelo, e seu modelo 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 servir 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 para 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 é realmente apenas para você começar. Abaixo estão alguns exemplos de integração com outros serviços Cloud.

Considerações sobre recursos do Kubeflow Pipelines

Dependendo dos requisitos de sua carga de trabalho, a configuração padrão para sua 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 pipeline OpFunc s:

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 armazenamento de dados em nuvem sem servidor, altamente escalá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 Jupyter lab:

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

Precisamos especificar qual projeto do GCP usar para o BigQuery, e isso é feito definindo --project em beam_pipeline_args ao criar um pipeline.

Clique duas vezes para abrir configs.py . Descomente a 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.

Altere 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_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 como fizemos nas etapas 5 e 6.

Atualize o pipeline e execute-o novamente

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

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

Experimente o Dataflow

Vários componentes do TFX usam o Apache Beam para implementar pipelines de dados paralelos, o que significa que você pode distribuir cargas de trabalho de processamento de dados usando o Google Cloud Dataflow . Nesta etapa, definiremos o orquestrador do 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 em pipeline para alterar o 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 .

Altere 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.

Clique duas vezes para abrir kubeflow_runner.py . Descomente beam_pipeline_args . (Certifique-se também de comentar os beam_pipeline_args atuais que você adicionou na Etapa 7.)

Atualize o pipeline e execute-o novamente

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

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

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

Experimente o treinamento e a previsão do Cloud AI Platform com o KFP

O TFX interopera com vários serviços gerenciados do GCP, como o Cloud AI Platform for Training and Prediction . Você pode definir seu 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ê poderá 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 arquivos, talvez seja necessário ativar a API AI Platform Training & Prediction .

Clique duas vezes em pipeline para alterar o 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 personalizada para treinar um modelo no Cloud AI Platform Training. Portanto, devemos definir masterConfig.imageUri em GCP_AI_PLATFORM_TRAINING_ARGS com o mesmo valor de CUSTOM_TFX_IMAGE acima.

Altere o diretório um nível acima e clique duas vezes para abrir kubeflow_runner.py . Descomente 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_runner.py \
  --endpoint={ENDPOINT}

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

Você pode encontrar seus jobs de treinamento em Jobs do Cloud AI Platform . Se o pipeline for concluído com êxito, você poderá encontrar seu modelo em Cloud AI Platform Models .

14. Use seus próprios dados

Neste tutorial, você criou 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_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 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 Treinador

Consulte o guia do componente 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 no tutorial.

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