Treten Sie der SIG TFX-Addons-Community bei und helfen Sie mit, TFX noch besser zu machen! SIG TFX-Addons beitreten

Bau von TFX-Pipelines

Verwenden der Pipeline Klasse

TFX-Pipelines werden mithilfe der Pipeline Klasse definiert . Das folgende Beispiel zeigt, wie die Pipeline Klasse verwendet wird.

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

Ersetzen Sie Folgendes:

  • pipeline-name : Der Name dieser Pipeline. Der Pipeline-Name muss eindeutig sein.

    TFX verwendet den Pipeline-Namen, wenn ML-Metadaten nach Komponenten-Eingabeartefakten abgefragt werden. Die Wiederverwendung eines Pipeline-Namens kann zu unerwartetem Verhalten führen.

  • pipeline-root : Der Root-Pfad der Ausgaben dieser Pipeline. Der Stammpfad muss der vollständige Pfad zu einem Verzeichnis sein, auf das Ihr Orchestrator Lese- und Schreibzugriff hat. Zur Laufzeit verwendet TFX den Pipeline-Stamm, um Ausgabepfade für Komponentenartefakte zu generieren. Dieses Verzeichnis kann lokal sein oder sich in einem unterstützten verteilten Dateisystem wie Google Cloud Storage oder HDFS befinden.

  • components : Eine Liste der Komponenteninstanzen, aus denen der Workflow dieser Pipeline besteht.

  • enable-cache : (Optional.) Ein boolescher Wert, der angibt, ob diese Pipeline Caching verwendet, um die Ausführung der Pipeline zu beschleunigen.

  • metadata-connection-config : (Optional.) Eine Verbindungskonfiguration für ML-Metadaten.

Definieren des Komponentenausführungsdiagramms

Komponenteninstanzen erzeugen Artefakte als Ausgaben und hängen normalerweise von Artefakten ab, die von vorgelagerten Komponenteninstanzen als Eingaben erzeugt werden. Die Ausführungssequenz für Komponenteninstanzen wird durch Erstellen eines gerichteten azyklischen Graphen (DAG) der Artefaktabhängigkeiten bestimmt.

Beispielsweise kann die Standardkomponente ExampleGen Daten aus einer CSV-Datei aufnehmen und serialisierte Beispieldatensätze ausgeben. Die StatisticsGen Standardkomponente akzeptiert diese Beispieldatensätze als Eingabe und erstellt Datensatzstatistiken. In diesem Beispiel muss die Instanz von StatisticsGen ExampleGen folgen, da SchemaGen von der Ausgabe von ExampleGen .

Aufgabenbasierte Abhängigkeiten

Sie können aufgabenbasierte Abhängigkeiten auch mit den Methoden add_upstream_node und add_downstream_node Ihrer Komponente add_downstream_node . add_upstream_node können Sie angeben, dass die aktuelle Komponente nach der angegebenen Komponente ausgeführt werden muss. add_downstream_node können Sie angeben, dass die aktuelle Komponente vor der angegebenen Komponente ausgeführt werden muss.

Pipeline-Vorlagen

Der einfachste Weg, eine Pipeline schnell einzurichten und zu sehen, wie alle Teile zusammenpassen, ist die Verwendung einer Vorlage. Die Verwendung von Vorlagen wird unter Lokales Erstellen einer TFX-Pipeline behandelt .

Caching

Mit dem TFX-Pipeline-Caching kann Ihre Pipeline Komponenten überspringen, die in einem früheren Pipeline-Lauf mit denselben Eingaben ausgeführt wurden. Wenn das Caching aktiviert ist, versucht die Pipeline, die Signatur jeder Komponente, der Komponente und des Satzes von Eingaben mit einer der vorherigen Komponentenausführungen dieser Pipeline abzugleichen. Wenn eine Übereinstimmung vorliegt, verwendet die Pipeline die Komponentenausgaben aus dem vorherigen Lauf. Wenn keine Übereinstimmung vorliegt, wird die Komponente ausgeführt.

Verwenden Sie kein Caching, wenn Ihre Pipeline nicht deterministische Komponenten verwendet. Wenn Sie beispielsweise eine Komponente erstellen, um eine Zufallszahl für Ihre Pipeline zu erstellen, wird diese Komponente durch Aktivieren des Caches einmal ausgeführt. In diesem Beispiel verwenden nachfolgende Läufe die Zufallszahl des ersten Laufs, anstatt eine Zufallszahl zu generieren.