Unisciti alla comunità SIG TFX-Addons e contribuisci a rendere TFX ancora migliore!

Creazione di pipeline TFX

Utilizzando la classe Pipeline

Le pipeline TFX vengono definite utilizzando la classe Pipeline . L'esempio seguente mostra come utilizzare la classe Pipeline .

pipeline.Pipeline(
    pipeline_name=pipeline-name,
    pipeline_root=pipeline-root,
    components=components,
    enable_cache=enable-cache,
    metadata_connection_config=metadata-connection-config,
)

Sostituisci quanto segue:

  • pipeline-name : il nome di questa pipeline. Il nome della pipeline deve essere univoco.

    TFX utilizza il nome della pipeline durante la query sui metadati ML per gli artefatti di input dei componenti. Il riutilizzo del nome di una pipeline può provocare comportamenti imprevisti.

  • pipeline-root : il percorso radice degli output di questa pipeline. Il percorso radice deve essere il percorso completo di una directory a cui l'orchestrator ha accesso in lettura e scrittura. In fase di esecuzione, TFX utilizza la radice della pipeline per generare percorsi di output per gli artefatti dei componenti. Questa directory può essere locale o su un file system distribuito supportato, come Google Cloud Storage o HDFS.

  • components : un elenco di istanze di componenti che costituiscono il flusso di lavoro di questa pipeline.

  • enable-cache : (facoltativo) un valore booleano che indica se questa pipeline utilizza la memorizzazione nella cache per accelerare l'esecuzione della pipeline.

  • metadata-connection-config : (facoltativo) una configurazione di connessione per i metadati ML.

Definizione del grafico di esecuzione del componente

Le istanze dei componenti producono artefatti come output e in genere dipendono dagli artefatti prodotti dalle istanze dei componenti a monte come input. La sequenza di esecuzione per le istanze dei componenti viene determinata creando un grafico aciclico diretto (DAG) delle dipendenze degli artefatti.

Ad esempio, il componente standard ExampleGen può ExampleGen dati da un file CSV e generare record di esempio serializzati. Il componente standard StatisticsGen accetta questi record di esempio come input e produce statistiche del set di dati. In questo esempio, l'istanza di StatisticsGen deve seguire ExampleGen perché SchemaGen dipende dall'output di ExampleGen .

Dipendenze basate su attività

È inoltre possibile definire dipendenze basate su attività utilizzando i metodi add_upstream_node e add_downstream_node del componente. add_upstream_node consente di specificare che il componente corrente deve essere eseguito dopo il componente specificato. add_downstream_node consente di specificare che il componente corrente deve essere eseguito prima del componente specificato.

Modelli di pipeline

Il modo più semplice per configurare rapidamente una pipeline e per vedere come si adattano tutti i pezzi è utilizzare un modello. L'uso dei modelli è trattato in Creazione locale di una pipeline TFX .

Caching

La memorizzazione nella cache della pipeline TFX consente alla pipeline di ignorare i componenti che sono stati eseguiti con lo stesso set di input in un'esecuzione della pipeline precedente. Se la memorizzazione nella cache è abilitata, la pipeline tenta di abbinare la firma di ogni componente, il componente e il set di input, a una delle precedenti esecuzioni dei componenti di questa pipeline. Se è presente una corrispondenza, la pipeline utilizza gli output del componente dell'esecuzione precedente. Se non c'è una corrispondenza, il componente viene eseguito.

Non utilizzare la memorizzazione nella cache se la pipeline utilizza componenti non deterministici. Ad esempio, se crei un componente per creare un numero casuale per la tua pipeline, l'abilitazione della cache fa sì che questo componente venga eseguito una volta. In questo esempio, le esecuzioni successive utilizzano il numero casuale della prima esecuzione invece di generare un numero casuale.