Costruire pipeline TFX

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

Utilizzo della classe Pipeline

Le pipeline TFX sono definite utilizzando la classe Pipeline . Nell'esempio seguente viene illustrato 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,
)

Sostituire quanto segue:

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

    TFX utilizza il nome della pipeline durante l'esecuzione di query sui metadati ML per gli artefatti di input del componente. Il riutilizzo di un nome di pipeline può causare comportamenti imprevisti.

  • pipeline-root : il percorso root degli output di questa pipeline. Il percorso radice deve essere il percorso completo di una directory a cui l'agente di orchestrazione 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 velocizzare l'esecuzione della pipeline.

  • metadata-connection-config : (facoltativo). Una configurazione della 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 upstream 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ò importare dati da un file CSV e produrre 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à

Puoi anche definire dipendenze basate su attività utilizzando i metodi add_upstream_node e add_downstream_node del tuo 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 impostare rapidamente una pipeline e vedere come tutti i pezzi si incastrano, è utilizzare un modello. L'utilizzo dei modelli è trattato in Creazione di una pipeline TFX in locale .

Cache

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 una precedente esecuzione della pipeline. Se la memorizzazione nella cache è abilitata, la pipeline tenta di far corrispondere la firma di ogni componente, il componente e il set di input, a una delle precedenti esecuzioni del componente di questa pipeline. Se esiste 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.