Ajuda a proteger a Grande Barreira de Corais com TensorFlow em Kaggle Junte Desafio

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. Ele mostra integração com TFX, AI Platform Pipelines e Kubeflow, bem como interação com TFX em notebooks Jupyter.

Ao final deste tutorial, você terá criado e executado um ML Pipeline, 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 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 táxi Viagens conjunto de dados liberado pela cidade de Chicago.

Você pode ler mais sobre o conjunto de dados no Google BigQuery . Explorar o conjunto de dados completo no UI 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á tem um, avance para Criar Novo Projeto .

  1. Ir para o Google Cloud Console .

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

  3. Se você gostaria de começar com uma conta de teste gratuito, clique em experimentar gratuitamente (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, você pode completar este tutorial sem ultrapassar os Nível Google Cloud grátis limites, que inclui um máximo de 8 núcleos rodando ao mesmo tempo.

1.b Crie um novo projeto.

  1. A partir do painel principal do Google Cloud , clique no menu suspenso projeto ao lado do cabeçalho da 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 AI Platform Pipeline em um novo cluster Kubernetes

  1. Vá para o Dutos Clusters AI Platform página.

    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 resumo Kubeflow Pipelines, 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 Implantar Kubeflow Pipelines:

    1. Selecione uma zona (ou "região") para o seu cluster.
    2. IMPORTANTE Verifique a caixa Permitir acesso às seguintes APIs 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 esperar vários minutos até que o cluster foi criado.

    4. Selecione um namespace e nome de instância (usar os padrões está bom). Você não tem que verificar Use armazenamento gerenciado.

    5. Clique Deploy, e aguardar alguns instantes até que o gasoduto foi implantado. Ao implantar Kubeflow Pipelines, você aceita os Termos de Serviço.

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

  1. Vá para a Plataforma Notebooks AI página.

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

  2. Se solicitado, ative a API Compute Engine.

  3. Criar uma nova instância com 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 notebook.
    2. Selecione uma configuração de máquina com 1 ou 2 vCPUs.

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

  1. Vá para o Dutos Clusters AI Platform página.

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

  2. Na linha para o cluster que você está usando neste tutorial, clique em Abrir Pipelines Dashboard.

    painel aberto

  3. Na página Introdução, clique em Abrir TF 2.1 Notebook.

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

    select-notebook

5. Continue trabalhando no Notebook

Instalar

A Introdução começa Notebook através da instalação de TFX e Kubeflow Pipelines (KFP) na VM que Jupyter Lab está sendo executado.

Em seguida, 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 você pode obter por meio do 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 ponto final de cluster KFP.

Isso pode ser encontrado na URL do painel Pipelines. Vá para o painel do Pipeline Kubeflow e observe o URL. O ponto final é tudo no URL começando com o 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, vamos utilizar my_pipeline .

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

O notebook, em seguida, usa o tfx CLI para copiar o modelo de pipeline. Este tutorial usa o conjunto de dados Chicago Taxi para executar classificação binária, de modo que o modelo define o modelo de 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 de 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

A tfx template copy comando acima criado um andaime básica de arquivos que construir um gasoduto. Isso inclui códigos-fonte Python, dados de amostra e notebooks Jupyter. Elas são destinadas 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 gasoduto
    • configs.py - define constantes comuns para os corredores de oleodutos
    • pipeline.py - define componentes TFX e um oleoduto
  • models - Esta pasta contém definições de modelo ML.
    • features.py features_test.py - define recursos para o modelo
    • preprocessing.py / preprocessing_test.py - define pré-processamento trabalhos usando tf::Transform
    • estimator - Este diretório contém um modelo baseado Estimador.
      • constants.py - define constantes do modelo
      • model.py / model_test.py - define modelo DNN usando TF estimador
    • keras - Esta pasta contém um modelo baseado Keras.
      • constants.py - define constantes do modelo
      • model.py / model_test.py - define modelo DNN usando Keras
  • beam_runner.py / kubeflow_runner.py - definir os corredores para cada mecanismo de orquestração

7. Execute seu primeiro pipeline TFX no Kubeflow

O notebook será executado o pipeline usando o tfx run comando CLI.

Conecte-se ao armazenamento

Gasodutos que criar artefatos que têm de ser armazenados em ML-Metadados . 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 intervalo que foi criado automaticamente durante a configuração. Seu nome será <your-project-id>-kubeflowpipelines-default .

Crie o pipeline

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

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

O notebook, em seguida, usa o tfx pipeline create comando para criar o pipeline.

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

Ao criar um gasoduto, Dockerfile 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, em seguida, usa o tfx run create comando para iniciar uma corrida de execução do seu pipeline. Você também verá essa execução listada em Experimentos no Painel de pipelines do 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 por 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 anexar esses componentes para o seu 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_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 ajudá-lo a começar. Para um exemplo mais avançado ver a TensorFlow Validação de dados Colab .

Para mais informações sobre o uso TFDV para explorar e validar um conjunto de dados, veja 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

  • Transforme realiza engenharia recurso no conjunto de dados.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , localizar e remover o comentário da linha que junta Transform para o oleoduto.

# 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 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 ajudá-lo a começar. Para um exemplo ver o mais avançado TensorFlow Transform Colab .

10. Treinamento

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

  • Incluir 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
  • 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 , achado e uncomment o que acrescenta instrutor para o 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 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 ajudá-lo a começar. Para um exemplo mais avançado ver o Tutorial 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

  • Avaliador realiza a análise profunda dos resultados do treino.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , encontrar e remover o comentário da linha que acrescenta avaliador para o 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 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

  • TensorFlow Serving
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

Componentes

  • Pusher implanta o modelo para uma infra-estrutura de servir.

No editor de arquivos do laboratório Jupyter:

Em pipeline / pipeline.py , encontrar e remover o comentário da linha que acrescenta Pusher ao gasoduto:

# 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 Servindo , para servir o seu modelo em um farm de servidores ou servidor e processamento de REST e / ou pedidos de inferência gRPC.
  • TensorFlow Lite , para incluir o seu modelo em um aplicativo móvel nativo Android ou iOS, ou em um Raspberry Pi, a Internet das coisas, ou aplicação microcontrolador.
  • TensorFlow.js , para a execução de seu modelo em um navegador 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 de 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 OpFunc itens, que transforma todos os gerados ContainerOp casos na especificação gasoduto KFP que é compilado a partir de KubeflowDagRunner .

Por exemplo, a memória configure podemos usar set_memory_request para declarar a quantidade de memória necessária. Uma maneira comum de fazer isso é criar um wrapper para set_memory_request e usá-lo para adicionar à à lista de gasoduto 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

tente BigQueryExampleGen

BigQuery é um serverless, altamente escalável, e armazém de dados em nuvem de baixo custo. O BigQuery pode ser usado como fonte para exemplos de treinamento em TFX. Neste passo, vamos adicionar BigQueryExampleGen ao gasoduto.

No editor de arquivos do laboratório Jupyter:

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

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.

Duplo-Clique para abrir configs.py . Uncomment 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.

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 gasoduto que é my_pipeline se você não alterar o nome do pipeline.

Duplo-Clique para abrir kubeflow_runner.py . Descomente dois argumentos, query e beam_pipeline_args , para a create_pipeline função.

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_runner.py \
  --endpoint={ENDPOINT}

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

Experimente o Dataflow

Vários componentes TFX usar Apache feixe de implementar pipelines de dados paralelos, e isso significa que você pode distribuir dados de processamento de cargas de trabalho 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 em pipeline para o diretório mudança, e dê um duplo clique para abrir configs.py . Uncomment a 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 gasoduto que é my_pipeline se você não mudar.

Duplo-Clique para abrir kubeflow_runner.py . Descomente beam_pipeline_args . (Também certifique-se de comentar atuais 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_runner.py \
  --endpoint={ENDPOINT}

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

Você pode encontrar seus empregos Dataflow em Dataflow em Cloud Console .

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

Interopera TFX com vários serviços GCP gerenciados, como Platform AI Nuvem de Formação e Previsão . Você pode definir o seu Trainer componente para usar Nuvem AI Plataforma de Formação, um serviço gerenciado para treinar modelos ML. Além disso, quando o modelo é construído e pronto para ser servido, você pode empurrar o seu modelo para Cloud Platform AI Previsão para servir. Neste passo, vamos definir o nosso Trainer e Pusher componente para usar serviços de nuvem AI plataforma.

Antes de editar arquivos, você pode primeiro tem que permitir AI Platform Training & Prediction API.

Clique duas vezes em pipeline para o diretório mudança, e dê um duplo clique para abrir configs.py . Uncomment a definição de GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS e GCP_AI_PLATFORM_SERVING_ARGS . Usaremos nossa imagem recipiente personalizado construído para treinar um modelo no AI Plataforma de Formação Nuvem, por isso, devemos definir masterConfig.imageUri em GCP_AI_PLATFORM_TRAINING_ARGS para o mesmo valor que CUSTOM_TFX_IMAGE acima.

Altere o diretório um nível acima, e dê um duplo clique 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 trabalhos de formação em Nuvem AI Platform Jobs . Se seu pipeline concluída com êxito, você pode encontrar o seu modelo em Nuvem AI Plataforma Models .

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. Modificar DATA_PATH em kubeflow_runner.py , indicando a localização.

Se seus dados estiverem armazenados no BigQuery

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

Saiba mais sobre o Trainer

Veja instrutor guia componente para obter mais detalhes sobre dutos de treinamento.

Limpando

Para limpar todos os recursos do Google Cloud utilizados neste projeto, você pode excluir o projeto do Google Cloud você usou para o tutorial.

Alternativamente, você pode limpar os recursos individuais, visitando cada consoles: - Google Cloud Storage - Registro Google Container - Motor Google Kubernetes