Aiuto proteggere la Grande Barriera Corallina con tensorflow sul Kaggle Join Sfida

TFX su pipeline Cloud AI Platform AI

introduzione

Questo tutorial è progettato per introdurre TensorFlow Extended (TFX) e Cloud AI Platform Pipelines e aiutarti a imparare a creare le tue pipeline di machine learning su Google Cloud. Mostra l'integrazione con TFX, AI Platform Pipelines e Kubeflow, nonché l'interazione con TFX nei notebook Jupyter.

Alla fine di questo tutorial, avrai creato ed eseguito una pipeline ML, ospitata su Google Cloud. Sarai in grado di visualizzare i risultati di ogni corsa e visualizzare il lignaggio degli artefatti creati.

Seguirai un tipico processo di sviluppo ML, iniziando dall'esame del set di dati e finendo con una pipeline di lavoro completa. Lungo il percorso esplorerai modi per eseguire il debug e aggiornare la tua pipeline e misurare le prestazioni.

Chicago Taxi Dataset

TaxiTaxi di Chicago

Stai usando il taxi Trips set di dati rilasciato dal Comune di Chicago.

È possibile leggere di più sul set di dati in Google BigQuery . Esplora la piena set di dati in BigQuery UI .

Obiettivo del modello - Classificazione binaria

Il cliente darà una mancia più o meno del 20%?

1. Configura un progetto Google Cloud

1.a Configura il tuo ambiente su Google Cloud

Per iniziare, hai bisogno di un account Google Cloud. Se avete già uno, passare direttamente al Crea nuovo progetto .

  1. Vai alla Google Cloud Console .

  2. Accetta i termini e le condizioni di Google Cloud

  3. Se si desidera iniziare con un account di prova gratuito, cliccare su provare gratuitamente (o Inizia gratuitamente ).

    1. Seleziona il tuo paese.

    2. Accetta i termini di servizio.

    3. Inserisci i dettagli di fatturazione.

      A questo punto non ti verrà addebitato alcun costo. Se non si hanno altri progetti Google Cloud, è possibile completare questo tutorial senza superare i Tier Google Cloud gratuiti limiti, che comprende un massimo di 8 core in esecuzione allo stesso tempo.

1.b Creare un nuovo progetto.

  1. Dalla principale dashboard di Google Cloud , fai clic sul menu a discesa accanto al progetto di intestazione di Google Cloud Platform, e selezionare Nuovo progetto.
  2. Dai un nome al tuo progetto e inserisci altri dettagli del progetto
  3. Una volta creato un progetto, selezionalo dal menu a discesa del progetto.

2. Configura e distribuisci una pipeline AI Platform su un nuovo cluster Kubernetes

  1. Vai AI Platform Cluster condutture pagina.

    Nel menu di navigazione principale: ≡ > Piattaforma AI > Pipeline

  2. Fare clic su + Nuova istanza per creare un nuovo cluster.

  3. Nella pagina panoramica Kubeflow Pipelines, fare clic su Configura.

    Potrebbe essere necessario attendere diversi minuti prima di procedere, mentre le API di Kubernetes Engine vengono abilitate per te.

  4. Nella pagina Deploy Kubeflow Condotte:

    1. Selezionare una zona (o "regione") per il cluster.
    2. IMPORTANTE Verificare la casella Consenti l'accesso alle seguenti API cloud. (Questo è necessario affinché questo cluster acceda agli altri pezzi del tuo progetto. Se ti perdi questo passaggio, risolverlo in un secondo momento è un po' complicato.)

    3. Fare clic su Crea, e attendere alcuni minuti fino a quando si è creato il cluster.

    4. Seleziona uno spazio dei nomi e un nome di istanza (utilizzare i valori predefiniti va bene). Non controlla Usa storage gestito.

    5. Fare clic su Distribuisci, e attendere qualche istante fino a che il gasdotto è stato distribuito. Distribuendo Kubeflow Pipelines, accetti i Termini di servizio.

3. Configurare l'istanza di Cloud AI Platform Notebook.

  1. Vai AI Notebook Platform pagina.

    Nel menu di navigazione principale: ≡ -> Piattaforma AI -> Notebook

  2. Se richiesto, abilita l'API Compute Engine.

  3. Creare una nuova istanza con tensorflow 2.1 (o superiore) installato.

    Nuova istanza -> TensorFlow 2.1 -> Senza GPU

    Per rimanere entro i limiti del piano gratuito, non accettare le impostazioni predefinite qui. Devi ridurre il numero di vCPU disponibili per questa istanza da 4 a 2:

    1. Selezionare Personalizza nella parte inferiore della nuova forma istanza notebook.
    2. Selezionare una configurazione macchina con 1 o 2 CPU virtuali.

4. Avvia il taccuino introduttivo

  1. Vai AI Platform Cluster condutture pagina.

    Nel menu di navigazione principale: ≡ -> Piattaforma AI -> Pipeline

  2. Sulla linea per il cluster che si sta utilizzando in questo tutorial, fare clic su Apri Condotte Dashboard.

    cruscotto aperto

  3. Nella pagina introduttiva, fare clic su Apri TF 2.1 Notebook.

  4. Selezionare l'istanza del notebook che si sta utilizzando per questo tutorial e continua.

    selezionare-taccuino

5. Continua a lavorare nel taccuino

Installare

La Guida introduttiva si avvia Notebook con l'installazione di TFX e Kubeflow Pipeline (KFP) nella VM che Jupyter Lab è in esecuzione in.

Quindi controlla quale versione di TFX è installata, esegue un'importazione e imposta e stampa l'ID progetto:

controlla la versione di Python e importa

Connettiti con i tuoi servizi Google Cloud

La configurazione della pipeline richiede il tuo ID progetto, che puoi ottenere tramite il notebook e impostare come variabile ambientale.

# 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)

Ora imposta l'endpoint del cluster KFP.

Questo può essere trovato dall'URL del dashboard Pipelines. Vai al dashboard di Kubeflow Pipeline e guarda l'URL. Il punto finale è tutto nel URL che inizia con l' https:// , fino a, e compreso, googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

Il notebook imposta quindi un nome univoco per l'immagine Docker personalizzata:

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

6. Copia un modello nella directory del tuo progetto

Modifica la cella successiva del taccuino per impostare un nome per la tua pipeline. In questo tutorial useremo my_pipeline .

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

Il notebook utilizza quindi il tfx CLI per copiare il modello di pipeline. Questo tutorial utilizza il set di dati di Chicago taxi per eseguire la classificazione binaria, in modo che il modello di imposta il modello per taxi :

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

Il notebook quindi cambia il suo contesto CWD nella directory del progetto:

%cd {PROJECT_DIR}

Sfoglia i file della pipeline

Sul lato sinistro di Cloud AI Platform Notebook, dovresti vedere un browser di file. Ci dovrebbe essere una directory con il tuo nome pipeline ( my_pipeline ). Aprilo e visualizza i file. (Sarai in grado di aprirli e modificarli anche dall'ambiente notebook.)

# You can also list the files from the shell
 ls

La tfx template copy comando precedente ha creato un'impalcatura di base di file che costruire un oleodotto. Questi includono codici sorgente Python, dati di esempio e notebook Jupyter. Questi sono pensati per questo particolare esempio. Per le tue pipeline, questi sarebbero i file di supporto richiesti dalla tua pipeline.

Ecco una breve descrizione dei file Python.

  • pipeline - Questa directory contiene la definizione del gasdotto
    • configs.py - definisce costanti comuni per i corridori gasdotti
    • pipeline.py - definisce componenti TFX e un gasdotto
  • models - Questa directory contiene le definizioni ML modello.
    • features.py features_test.py - definisce caratteristiche per il modello
    • preprocessing.py / preprocessing_test.py - definisce pre-elaborazione lavori utilizzando tf::Transform
    • estimator - Questa directory contiene un modello basato estimatore.
      • constants.py - definisce le costanti del modello
      • model.py / model_test.py - definisce modello DNN utilizzando stimatore TF
    • keras - Questa directory contiene un modello basato Keras.
      • constants.py - definisce le costanti del modello
      • model.py / model_test.py - definisce modello DNN utilizzando Keras
  • beam_runner.py / kubeflow_runner.py - definire supporti per ogni motore di orchestrazione

7. Esegui la tua prima pipeline TFX su Kubeflow

Il notebook verrà eseguito il gasdotto utilizzando il tfx run comando CLI.

Connetti allo spazio di archiviazione

Tubazioni in corso creano artefatti che devono essere memorizzati in ML-Metadata . Gli artefatti si riferiscono ai payload, che sono file che devono essere archiviati in un file system o in un archivio a blocchi. Per questo tutorial, utilizzeremo GCS per archiviare i nostri payload di metadati, utilizzando il bucket che è stato creato automaticamente durante l'installazione. Il suo nome sarà <your-project-id>-kubeflowpipelines-default .

Crea la pipeline

Il notebook caricherà i nostri dati di esempio nel bucket GCS in modo che possiamo utilizzarli nella nostra pipeline in un secondo momento.

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

Il notebook utilizza poi il tfx pipeline create comando per creare la pipeline.

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

Durante la creazione di una pipeline, Dockerfile verrà generato per costruire un'immagine Docker. Non dimenticare di aggiungere questi file al tuo sistema di controllo del codice sorgente (ad esempio, git) insieme ad altri file di origine.

Esegui la pipeline

Il notebook utilizza quindi la tfx run create comando per avviare una corsa esecuzione della pipeline. Vedrai anche questa esecuzione elencata in Esperimenti nel dashboard di Kubeflow Pipelines.

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

Puoi visualizzare la tua pipeline dal dashboard di Kubeflow Pipelines.

8. Convalida i tuoi dati

Il primo compito in qualsiasi progetto di data science o ML è comprendere e pulire i dati.

  • Comprendi i tipi di dati per ogni caratteristica
  • Cerca anomalie e valori mancanti
  • Comprendi le distribuzioni per ogni caratteristica

Componenti

Componenti dei datiComponenti dei dati

  • ExampleGen ingerisce e divide il set di dati di ingresso.
  • StatisticsGen di calcolare le statistiche per il set di dati.
  • SchemaGen SchemaGen esamina le statistiche e crea uno schema di dati.
  • ExampleValidator cerca anomalie e valori mancanti nel set di dati.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , non commentare le linee ai quali aggiungono questi componenti per la pipeline:

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

( ExampleGen era già abilitata quando i file di modello sono stati copiati.)

Aggiorna la pipeline e rieseguila

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

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

Controlla la pipeline

Per Kubeflow Orchestrator, visita il dashboard KFP e trova gli output della pipeline nella pagina per l'esecuzione della pipeline. Fai clic sulla scheda "Esperimenti" a sinistra e su "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

Esempio più avanzato

L'esempio presentato qui ha davvero solo lo scopo di iniziare. Per un esempio più avanzato vedere la tensorflow Data Validation Colab .

Per ulteriori informazioni su come usare TFDV per esplorare e convalidare un insieme di dati, vedere gli esempi su tensorflow.org .

9. Ingegneria delle funzionalità

Puoi aumentare la qualità predittiva dei tuoi dati e/o ridurre la dimensionalità con l'ingegneria delle funzionalità.

  • Incroci di funzioni
  • vocabolari
  • Incorporamenti
  • PCA
  • Codifica categoriale

Uno dei vantaggi dell'utilizzo di TFX è che si scriverà il codice di trasformazione una volta e le trasformazioni risultanti saranno coerenti tra l'addestramento e l'elaborazione.

Componenti

Trasformare

  • Trasforma esegue funzionalità di ingegneria sul set di dati.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trovare e rimuovere il commento dalla linea che aggiunge Transform alla pipeline.

# components.append(transform)

Aggiorna la pipeline e rieseguila

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

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

Controlla gli output della pipeline

Per Kubeflow Orchestrator, visita il dashboard KFP e trova gli output della pipeline nella pagina per l'esecuzione della pipeline. Fai clic sulla scheda "Esperimenti" a sinistra e su "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

Esempio più avanzato

L'esempio presentato qui ha davvero solo lo scopo di iniziare. Per un esempio più avanzata consulta la tensorflow Transform Colab .

10. Formazione

Addestra un modello TensorFlow con i tuoi dati belli, puliti e trasformati.

  • Includere le trasformazioni del passaggio precedente in modo che vengano applicate in modo coerente
  • Salva i risultati come modello salvato per la produzione
  • Visualizza ed esplora il processo di formazione utilizzando TensorBoard
  • Salva anche un EvalSavedModel per l'analisi delle prestazioni del modello

Componenti

  • Trainer allena un modello tensorflow.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trovare e rimuovere il commento il che aggiunge Trainer alla pipeline:

# components.append(trainer)

Aggiorna la pipeline e rieseguila

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

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

Controlla gli output della pipeline

Per Kubeflow Orchestrator, visita il dashboard KFP e trova gli output della pipeline nella pagina per l'esecuzione della pipeline. Fai clic sulla scheda "Esperimenti" a sinistra e su "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

Esempio più avanzato

L'esempio presentato qui ha davvero solo lo scopo di iniziare. Per un esempio più avanzato vedere la TensorBoard Tutorial .

11. Analisi delle prestazioni del modello

Comprendere più delle semplici metriche di livello superiore.

  • Gli utenti sperimentano le prestazioni del modello solo per le loro query
  • Le scarse prestazioni su sezioni di dati possono essere nascoste da metriche di livello superiore
  • L'equità del modello è importante
  • Spesso i sottoinsiemi chiave di utenti o dati sono molto importanti e possono essere piccoli
    • Prestazioni in condizioni critiche ma insolite
    • Prestazioni per il pubblico chiave come gli influencer
  • Se stai sostituendo un modello che è attualmente in produzione, assicurati prima che il nuovo sia migliore

Componenti

  • Evaluator esegue l'analisi in profondità dei risultati della formazione.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trovare e rimuovere il commento dalla linea che aggiunge Evaluator alla pipeline:

components.append(evaluator)

Aggiorna la pipeline e rieseguila

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

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

Controlla gli output della pipeline

Per Kubeflow Orchestrator, visita il dashboard KFP e trova gli output della pipeline nella pagina per l'esecuzione della pipeline. Fai clic sulla scheda "Esperimenti" a sinistra e su "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

12. Al servizio del modello

Se il nuovo modello è pronto, fallo.

  • Pusher distribuisce SavedModels in posizioni ben note

Gli obiettivi di distribuzione ricevono nuovi modelli da posizioni note

  • Servizio TensorFlow
  • TensorFlow Lite
  • TensorFlow JS
  • TensorFlow Hub

Componenti

  • Pusher distribuisce il modello ad un'infrastruttura che serve.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trovare e rimuovere il commento dalla linea che aggiunge Pusher alla pipeline:

# components.append(pusher)

Controlla gli output della pipeline

Per Kubeflow Orchestrator, visita il dashboard KFP e trova gli output della pipeline nella pagina per l'esecuzione della pipeline. Fai clic sulla scheda "Esperimenti" a sinistra e su "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

Obiettivi di distribuzione disponibili

Ora hai addestrato e convalidato il tuo modello e il tuo modello è ora pronto per la produzione. Ora puoi distribuire il tuo modello a qualsiasi destinazione di distribuzione di TensorFlow, tra cui:

  • Tensorflow servizio , per servire il vostro modello su un server farm o un server e l'elaborazione di REST e / o richieste di inferenza gRPC.
  • Tensorflow Lite , per includere il vostro modello in un'applicazione mobile nativa Android o iOS, o in un Raspberry Pi, degli oggetti, o applicazione microcontrollore.
  • TensorFlow.js , per l'esecuzione il modello in un browser web o un'applicazione Node.JS.

Esempi più avanzati

L'esempio presentato sopra è in realtà pensato solo per iniziare. Di seguito alcuni esempi di integrazione con altri servizi Cloud.

Considerazioni sulle risorse di Kubeflow Pipelines

A seconda dei requisiti del tuo carico di lavoro, la configurazione predefinita per la tua distribuzione di Kubeflow Pipelines può o meno soddisfare le tue esigenze. È possibile personalizzare le configurazioni delle risorse utilizzando pipeline_operator_funcs nella chiamata a KubeflowDagRunnerConfig .

pipeline_operator_funcs è una lista di OpFunc elementi, che trasforma tutte le generati ContainerOp istanze nelle specifiche gasdotto KFP che è compilato da KubeflowDagRunner .

Ad esempio, per la memoria di configurazione possiamo usare set_memory_request di dichiarare la quantità di memoria necessaria. Un tipico modo per farlo è quello di creare un wrapper per set_memory_request e usarlo per aggiungere alla lista delle gasdotto 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)

Funzioni di configurazione delle risorse simili includono:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Prova BigQueryExampleGen

BigQuery è un serverless, altamente scalabile e data warehouse di cloud costo-efficacia. BigQuery può essere utilizzato come fonte per esempi di addestramento in TFX. In questa fase, aggiungeremo BigQueryExampleGen alla pipeline.

Nell'editor di file di laboratorio Jupyter:

Fare doppio clic per aprire pipeline.py . Commentare CsvExampleGen e rimuovere il commento dalla linea che crea un'istanza di BigQueryExampleGen . È inoltre necessario rimuovere il commento dalla query argomento della create_pipeline funzioni.

Abbiamo bisogno di specificare quale progetto GCP da utilizzare per BigQuery, e questo è fatto impostando --project in beam_pipeline_args durante la creazione di un oleodotto.

Fare doppio clic per aprire configs.py . Rimuovere il commento la definizione di BIG_QUERY_WITH_DIRECT_RUNNER_BEAM_PIPELINE_ARGS e BIG_QUERY_QUERY . Dovresti sostituire l'ID progetto e il valore della regione in questo file con i valori corretti per il tuo progetto GCP.

Cambia directory di un livello superiore. Fare clic sul nome della directory sopra l'elenco dei file. Il nome della directory è il nome del gasdotto, che è my_pipeline se non è stato modificato il nome pipeline.

Fare doppio clic per aprire kubeflow_runner.py . Decommentate due argomenti, query e beam_pipeline_args , per la create_pipeline funzione.

Ora la pipeline è pronta per utilizzare BigQuery come fonte di esempio. Aggiorna la pipeline come prima e crea una nuova esecuzione come abbiamo fatto nei passaggi 5 e 6.

Aggiorna la pipeline e rieseguila

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

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

Prova il flusso di dati

Diversi TFX componenti utilizzano Apache fascio di implementare pipeline data-paralleli, e significa che è possibile distribuire i carichi di lavoro di elaborazione dati utilizzando Google Cloud Dataflow . In questo passaggio, imposteremo l'orchestrator Kubeflow in modo che utilizzi Dataflow come back-end di elaborazione dati per 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

Fare doppio clic su pipeline a change directory, e fare doppio clic per aprire configs.py . Rimuovere il commento la definizione di GOOGLE_CLOUD_REGION e DATAFLOW_BEAM_PIPELINE_ARGS .

Cambia directory di un livello superiore. Fare clic sul nome della directory sopra l'elenco dei file. Il nome della directory è il nome del gasdotto, che è my_pipeline se non è stato modificato.

Fare doppio clic per aprire kubeflow_runner.py . Rimuovere il commento beam_pipeline_args . (Assicuratevi anche di commentare attuali beam_pipeline_args aggiunto nel passaggio 7.)

Aggiorna la pipeline e rieseguila

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

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

Si possono trovare i lavori Dataflow a flusso di dati in Cloud Console .

Prova la formazione e la previsione su Cloud AI Platform con KFP

Interagisce TFX con diversi servizi gestiti GCP, come AI Cloud Platform per la Formazione e previsione . È possibile impostare il Trainer componente di utilizzare cloud AI piattaforma di formazione, un servizio gestito per la formazione di modelli ML. Inoltre, quando il modello è costruito e pronto per essere servito, si può spingere il vostro modello di Cloud Platform AI predizione per servire. In questa fase, imposteremo il nostro Trainer e Pusher componente di utilizzare i servizi Cloud Platform AI.

Prima di modificare i file, si potrebbe per prima cosa abilitare AI Platform Training & Prediction API.

Fare doppio clic su pipeline a change directory, e fare doppio clic per aprire configs.py . Rimuovere il commento la definizione di GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS e GCP_AI_PLATFORM_SERVING_ARGS . Useremo la nostra immagine contenitore su misura per la formazione di un modello in Cloud Platform AI Formazione, quindi dovremmo impostare masterConfig.imageUri in GCP_AI_PLATFORM_TRAINING_ARGS per lo stesso valore di CUSTOM_TFX_IMAGE sopra.

Cambiare la directory di livello superiore, e fare doppio clic per aprire kubeflow_runner.py . Rimuovere il commento ai_platform_training_args e ai_platform_serving_args .

Aggiorna la pipeline e rieseguila

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

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

Si possono trovare i lavori di formazione in cloud AI Platform Jobs . Se il gasdotto completato con successo, è possibile trovare il modello in modelli di cloud piattaforma IA .

14. Usa i tuoi dati

In questo tutorial, hai creato una pipeline per un modello utilizzando il set di dati Chicago Taxi. Ora prova a inserire i tuoi dati nella pipeline. I tuoi dati possono essere archiviati ovunque la pipeline possa accedervi, inclusi Google Cloud Storage, BigQuery o file CSV.

È necessario modificare la definizione della pipeline per accogliere i dati.

Se i tuoi dati sono archiviati in file

  1. Modificare DATA_PATH in kubeflow_runner.py , che indica la posizione.

Se i tuoi dati sono archiviati in BigQuery

  1. Modificare BIG_QUERY_QUERY in configs.py alla tua istruzione di query.
  2. Aggiungi funzionalità in models / features.py .
  3. Modificare models / preprocessing.py per trasformare i dati di input per la formazione .
  4. Modificare models / keras / model.py e models / keras / constants.py per descrivere il vostro modello ML .

Scopri di più sull'allenatore

Vedere Trainer guida componente per maggiori dettagli sui gasdotti di formazione.

Pulire

Per pulire tutte le risorse di Google Cloud utilizzate in questo progetto, è possibile eliminare il progetto Google Cloud si è utilizzato per il tutorial.

In alternativa, è possibile ripulire singole risorse visitando ogni console: - Google Cloud Storage - Google Registro Container - Google kubernetes Engine