Unisciti alla comunità SIG TFX-Addons e contribuisci a rendere TFX ancora migliore!
Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

Pipeline TFX su Cloud AI Platform

introduzione

Questo tutorial è progettato per introdurre le pipeline TensorFlow Extended (TFX) e Cloud AI Platform 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 la discendenza degli artefatti creati.

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

Set di dati taxi di Chicago

TaxiTaxi di Chicago

Stai utilizzando il set di dati Taxi Trips rilasciato dalla città di Chicago.

Puoi leggere ulteriori informazioni sul set di dati in Google BigQuery . Esplora il set di dati completo nell'interfaccia utente di BigQuery .

Obiettivo del modello - Classificazione binaria

Il cliente darà una mancia superiore o inferiore al 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 ne hai già uno, passa a Crea nuovo progetto .

  1. Vai alla Google Cloud Console .

  2. Accetta i termini e le condizioni di Google Cloud

  3. Se desideri iniziare con un account di prova gratuito, fai clic su Prova gratuitamente (o Inizia gratuitamente ).

    1. Seleziona il tuo paese.

    2. Accetta i termini di servizio.

    3. Immettere i dettagli di fatturazione.

      A questo punto non ti verrà addebitato alcun importo. Se non hai altri progetti Google Cloud, puoi completare questo tutorial senza superare i limiti del piano gratuito di Google Cloud , che include un massimo di 8 core in esecuzione contemporaneamente.

1.b Crea un nuovo progetto.

  1. Dalla dashboard principale di Google Cloud , fai clic sul menu a discesa del progetto accanto all'intestazione di Google Cloud Platform e seleziona Nuovo progetto .
  2. Assegna un nome al tuo progetto e inserisci altri dettagli del progetto
  3. Dopo aver creato un progetto, selezionalo dal menu a discesa del progetto.

2. Configurare e distribuire una pipeline di AI Platform su un nuovo cluster Kubernetes

  1. Vai alla pagina dei cluster di pipeline di AI Platform .

    Sotto il menu di navigazione principale: ≡> Piattaforma AI> Pipeline

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

  3. Nella pagina della panoramica delle pipeline di Kubeflow , fai 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 Distribuisci pipeline Kubeflow :

    1. Seleziona una zona (o "regione") per il tuo cluster.

    2. IMPORTANTE Seleziona la casella Consenti l'accesso alle seguenti API cloud . (Questo è necessario per questo cluster per accedere alle altre parti del tuo progetto. Se perdi questo passaggio, risolverlo in un secondo momento è un po 'complicato.)

    3. Fare clic su Crea e attendere alcuni minuti finché il cluster non è stato creato.

    4. Seleziona uno spazio dei nomi e un nome di istanza (usare i valori predefiniti va bene). Non è necessario selezionare Usa archiviazione gestita .

    5. Fare clic su Distribuisci e attendere alcuni istanti fino a quando la pipeline non è stata distribuita. Distribuendo Kubeflow Pipelines, accetti i Termini di servizio.

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

  1. Vai alla pagina Notebook AI Platform .

    Sotto il menu di navigazione principale: ≡ -> AI Platform -> Notebook

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

  3. Crea una nuova istanza con TensorFlow 2.1 (o versioni successive) installato.

    Nuova istanza -> TensorFlow 2.1 -> Senza GPU

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

    1. Seleziona Personalizza nella parte inferiore del modulo Nuova istanza di blocco note .
    2. Seleziona una configurazione della macchina con 1 o 2 vCPU.

4. Avviare il Notebook introduttivo

  1. Vai alla pagina dei cluster di pipeline di AI Platform .

    Sotto il menu di navigazione principale: ≡ -> AI Platform -> Pipeline

  2. Nella riga del cluster che stai utilizzando in questo tutorial, fai clic su Open Pipelines Dashboard .

    cruscotto aperto

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

  4. Seleziona l'istanza di Notebook che stai utilizzando per questo tutorial e Continua .

    selezionare-taccuino

5. Continuare a lavorare nel notebook

Installare

Il Getting Started Notebook inizia installando TFX e Kubeflow Pipelines (KFP) nella VM in cui è in esecuzione Jupyter Lab, insieme al modulo Skaffold :

Installa tf e kfp

Quindi imposta il PATH per includere la directory binaria Python dell'utente e una directory contenente skaffold :

impostare il percorso

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 tuo cluster KFP.

Questo può essere trovato dall'URL del dashboard di Pipelines. Vai alla dashboard di Kubeflow Pipeline e guarda l'URL. L'endpoint è tutto nell'URL dopo https:// , fino a, e incluso , googleusercontent.com .

ENDPOINT='' # Enter YOUR ENDPOINT here.

Il blocco appunti 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. Copiare un modello nella directory del progetto

Modifica la cella del taccuino successivo 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("~"),"deployed_notebook",PIPELINE_NAME)

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

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

Il notebook cambia quindi 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. Dovrebbe esserci una directory con il nome della pipeline ( my_pipeline ). Aprilo e visualizza i file. (Potrai aprirli e modificarli anche dall'ambiente notebook.)

# You can also list the files from the shell
 ls

Il comando di tfx template copy sopra ha creato uno scaffold di base di file che creano una pipeline. 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 della pipeline
    • configs.py : definisce le costanti comuni per i runner della pipeline
    • pipeline.py : definisce i componenti TFX e una pipeline
  • models : questa directory contiene le definizioni del modello ML.
    • features.py features_test.py - definisce le caratteristiche per il modello
    • preprocessing.py / preprocessing_test.py - definisce i lavori di preelaborazione utilizzando tf::Transform
    • estimator - Questa directory contiene un modello basato su Estimator.
      • constants.py - definisce le costanti del modello
      • model.py / model_test.py - definisce il modello DNN utilizzando lo stimatore TF
    • keras - Questa directory contiene un modello basato su Keras.
      • constants.py - definisce le costanti del modello
      • model.py / model_test.py - definisce il modello DNN utilizzando Keras
  • beam_dag_runner.py / kubeflow_dag_runner.py - definisci i runner per ogni motore di orchestrazione

7. Esegui la tua prima pipeline TFX su Kubeflow

Il notebook eseguirà la pipeline utilizzando il comando tfx run CLI.

Connetti allo spazio di archiviazione

Le pipeline in esecuzione creano artefatti che devono essere archiviati in ML-Metadata . Gli artefatti si riferiscono ai payload, che sono file che devono essere archiviati in un file system o archiviazione a blocchi. Per questo tutorial, utilizzeremo GCS per archiviare i nostri payload di metadati, utilizzando il bucket creato automaticamente durante la configurazione. 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/data.csv

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

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

Durante la creazione di una pipeline, Dockerfile e build.yaml verranno generati per creare un'immagine Docker. Non dimenticare di aggiungere questi file al tuo sistema di controllo del codice sorgente (ad esempio, git) insieme ad altri file sorgente.

Esegui la pipeline

Il notebook utilizza quindi il comando tfx run create per avviare un'esecuzione della pipeline. Vedrai anche questa esecuzione elencata in Esperimenti nel dashboard delle pipeline di Kubeflow.

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

Puoi visualizzare la tua pipeline dal dashboard delle pipeline di Kubeflow.

8. Convalida i tuoi dati

La prima attività in qualsiasi progetto di data science o ML è comprendere e pulire i dati.

  • Comprendere i tipi di dati per ciascuna funzionalità
  • Cerca anomalie e valori mancanti
  • Comprendi le distribuzioni per ciascuna funzionalità

Componenti

Componenti dei datiComponenti dei dati

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , rimuovi il commento dalle righe che aggiungono questi componenti alla tua pipeline:

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

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

Aggiorna la pipeline e rieseguila

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_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 "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 qui presentato ha lo scopo di farti iniziare. Per un esempio più avanzato, vedere TensorFlow Data Validation Colab .

Per ulteriori informazioni sull'utilizzo di TFDV per esplorare e convalidare un set di dati, vedere gli esempi su tensorflow.org .

9. Ingegneria delle caratteristiche

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

  • Caratteristica croci
  • Vocabolari
  • Matrimoni
  • PCA
  • Codifica categoriale

Uno dei vantaggi dell'utilizzo di TFX è che scriverai il codice di trasformazione una volta e le trasformazioni risultanti saranno coerenti tra l'addestramento e la pubblicazione.

Componenti

Trasformare

  • Transform esegue l'ingegneria delle caratteristiche sul set di dati.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trova e rimuovi il commento dalla riga che aggiunge Transform alla pipeline.

# components.append(transform)

Aggiorna la pipeline e rieseguila

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_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 "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 qui presentato ha lo scopo di farti iniziare. Per un esempio più avanzato, vedere 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 SavedModel per la produzione
  • Visualizza ed esplora il processo di formazione utilizzando TensorBoard
  • Salvare anche un EvalSavedModel per l'analisi delle prestazioni del modello

Componenti

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trova e rimuovi il commento che aggiunge Trainer alla pipeline:

# components.append(trainer)

Aggiorna la pipeline e rieseguila

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_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 "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 qui presentato ha lo scopo di farti iniziare. Per un esempio più avanzato, vedere il tutorial di TensorBoard .

11. Analisi delle prestazioni del modello

Comprendere qualcosa di più delle semplici metriche di primo livello.

  • Gli utenti sperimentano le prestazioni del modello solo per le loro query
  • Le scarse prestazioni su porzioni di dati possono essere nascoste da metriche di primo livello
  • 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
    • Performance per un pubblico chiave come gli influencer
  • Se stai sostituendo un modello attualmente in produzione, assicurati innanzitutto che quello nuovo sia migliore

Componenti

  • Il valutatore esegue un'analisi approfondita dei risultati dell'allenamento.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trova e rimuovi il commento dalla riga che aggiunge Evaluator alla pipeline:

components.append(evaluator)

Aggiorna la pipeline e rieseguila

# Update the pipeline
! tfx pipeline update \
  --pipeline-path=kubeflow_dag_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 "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

12. Servire il modello

Se il nuovo modello è pronto, fallo.

  • Pusher distribuisce SavedModels in posizioni ben note

Gli obiettivi di distribuzione ricevono nuovi modelli da posizioni ben note

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

Componenti

  • Pusher distribuisce il modello a un'infrastruttura di servizio.

Nell'editor di file di laboratorio Jupyter:

In pipeline / pipeline.py , trova e rimuovi il commento dalla riga 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 "Tutte le esecuzioni" nella pagina Esperimenti. Dovresti essere in grado di trovare la corsa con il nome della tua pipeline.

Destinazioni di distribuzione disponibili

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

  • TensorFlow Serving , per servire il tuo modello su un server o server farm ed elaborare richieste di inferenza REST e / o gRPC.
  • TensorFlow Lite , per includere il tuo modello in un'applicazione mobile nativa Android o iOS o in un'applicazione Raspberry Pi, IoT o microcontrollore.
  • TensorFlow.js , per eseguire il modello in un browser Web o in un'applicazione Node.JS.

Esempi più avanzati

L'esempio presentato sopra ha lo scopo di farti iniziare. Di seguito sono riportati alcuni esempi di integrazione con altri servizi Cloud.

Considerazioni sulle risorse di Kubeflow Pipelines

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

pipeline_operator_funcs è un elenco di elementi OpFunc , che trasforma tutte le istanze ContainerOp generate nella specifica della pipeline KFP compilata da KubeflowDagRunner .

Ad esempio, per configurare la memoria possiamo usare set_memory_request per dichiarare la quantità di memoria necessaria. Un modo tipico per farlo è creare un wrapper per set_memory_request e usarlo per aggiungerlo all'elenco di OpFunc della 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)

Funzioni di configurazione delle risorse simili includono:

  • set_memory_limit
  • set_cpu_request
  • set_cpu_limit
  • set_gpu_limit

Prova BigQueryExampleGen

BigQuery è un data warehouse su cloud senza server, altamente scalabile e conveniente. BigQuery può essere utilizzato come fonte per esempi di addestramento in TFX. In questo passaggio, aggiungeremo BigQueryExampleGen alla pipeline.

Nell'editor di file di laboratorio Jupyter:

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

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 . Rimuovi il commento dalla 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 della pipeline che è my_pipeline se non hai cambiato il nome della pipeline.

Fare doppio clic per aprire kubeflow_dag_runner.py . Rimuovere il commento da due argomenti, query e beam_pipeline_args , per la funzione create_pipeline .

Ora la pipeline è pronta per utilizzare BigQuery come origine 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_dag_runner.py \
--endpoint={ENDPOINT}

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

Prova Dataflow

Diversi componenti TFX utilizzano Apache Beam per implementare pipeline parallele ai dati e ciò significa che puoi distribuire carichi di lavoro di elaborazione dati utilizzando Google Cloud Dataflow . In questo passaggio, imposteremo l'agente di orchestrazione Kubeflow per utilizzare 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 sulla pipeline per cambiare directory e fare doppio clic per aprire configs.py . Rimuovi il commento dalla 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 della pipeline che è my_pipeline se non hai cambiato.

Fare doppio clic per aprire kubeflow_dag_runner.py . Rimuovi il commento da beam_pipeline_args . (Assicurati anche di commentare gli attuali beam_pipeline_args che hai aggiunto nel passaggio 7.)

Aggiorna la pipeline e rieseguila

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

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

Puoi trovare i tuoi lavori Dataflow in Dataflow in Cloud Console .

Prova la formazione e le previsioni su Cloud AI Platform con KFP

TFX interagisce con diversi servizi GCP gestiti, come Cloud AI Platform for Training and Prediction . Puoi impostare il tuo componente Trainer per utilizzare Cloud AI Platform Training, un servizio gestito per l'addestramento di modelli ML. Inoltre, quando il tuo modello è stato creato ed è pronto per essere servito, puoi eseguire il push del tuo modello a Cloud AI Platform Prediction per la pubblicazione. In questo passaggio, imposteremo il nostro componente Trainer e Pusher per utilizzare i servizi Cloud AI Platform.

Prima di modificare i file, potrebbe essere necessario abilitare l' API di formazione e previsione di AI Platform .

Fare doppio clic sulla pipeline per cambiare directory e fare doppio clic per aprire configs.py . Rimuovi il commento dalla definizione di GOOGLE_CLOUD_REGION , GCP_AI_PLATFORM_TRAINING_ARGS e GCP_AI_PLATFORM_SERVING_ARGS . Useremo la nostra immagine del container personalizzata per addestrare un modello in Cloud AI Platform Training, quindi dovremmo impostare masterConfig.imageUri in GCP_AI_PLATFORM_TRAINING_ARGS sullo stesso valore di CUSTOM_TFX_IMAGE sopra.

Cambia directory di un livello superiore e fai doppio clic per aprire kubeflow_dag_runner.py . Rimuovi 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_dag_runner.py \
--endpoint={ENDPOINT}

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

Puoi trovare i tuoi lavori di formazione in Cloud AI Platform Jobs . Se la tua pipeline è stata completata correttamente, puoi trovare il tuo modello in Cloud AI Platform Models .

14. Usa i tuoi dati

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

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

Se i tuoi dati sono archiviati in file

  1. Modifica DATA_PATH in kubeflow_dag_runner.py , indicando la posizione.

Se i tuoi dati sono archiviati in BigQuery

  1. Modifica BIG_QUERY_QUERY in configs.py nell'istruzione della tua query.
  2. Aggiungi funzionalità in models / features.py .
  3. Modifica models / preprocessing.py per trasformare i dati di input per l'addestramento .
  4. Modifica models / keras / model.py e models / keras / constants.py per descrivere il tuo modello ML .

Ulteriori informazioni su Trainer

Per ulteriori dettagli sulle pipeline di formazione, vedere la guida ai componenti del trainer .

Pulire

Per ripulire tutte le risorse di Google Cloud utilizzate in questo progetto, puoi eliminare il progetto Google Cloud che hai utilizzato per il tutorial.

In alternativa, puoi ripulire singole risorse visitando ciascuna console: - Google Cloud Storage - Google Container Registry - Google Kubernetes Engine