Membangun jaringan pipa TFX

Menggunakan kelas Pipeline

Pipeline TFX didefinisikan menggunakan kelas Pipeline . Contoh berikut menunjukkan cara menggunakan kelas Pipeline .

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

Ganti yang berikut ini:

  • pipeline-name : Nama pipa ini. Nama alur harus unik.

    TFX menggunakan nama alur saat menanyakan Metadata ML untuk artefak input komponen. Menggunakan kembali nama alur dapat mengakibatkan perilaku yang tidak terduga.

  • pipeline-root : Jalur root dari keluaran pipa ini. Jalur root harus merupakan jalur lengkap ke direktori yang akses baca dan tulisnya dimiliki orkestra Anda. Saat runtime, TFX menggunakan root pipeline untuk menghasilkan jalur output untuk artefak komponen. Direktori ini bisa bersifat lokal, atau pada sistem file terdistribusi yang didukung, seperti Google Cloud Storage atau HDFS.

  • components : Daftar contoh komponen yang membentuk alur kerja alur ini.

  • enable-cache : (Opsional.) Nilai boolean yang menunjukkan apakah alur ini menggunakan caching untuk mempercepat eksekusi alur.

  • metadata-connection-config : (Opsional.) Konfigurasi koneksi untuk ML Metadata.

Mendefinisikan grafik eksekusi komponen

Instans komponen menghasilkan artefak sebagai keluaran dan biasanya bergantung pada artefak yang dihasilkan oleh instans komponen hulu sebagai masukan. Urutan eksekusi untuk instance komponen ditentukan dengan membuat grafik asiklik terarah (DAG) dari dependensi artefak.

Misalnya, komponen standar ExampleGen dapat menyerap data dari file CSV dan menghasilkan rekaman contoh berseri. Komponen standar StatisticsGen menerima contoh catatan ini sebagai masukan dan menghasilkan statistik kumpulan data. Dalam contoh ini, instance StatisticsGen harus mengikuti ExampleGen karena SchemaGen bergantung pada output dari ExampleGen .

Ketergantungan berbasis tugas

Anda juga dapat menentukan dependensi berbasis tugas menggunakan metode add_upstream_node dan add_downstream_node komponen Anda. add_upstream_node memungkinkan Anda menentukan bahwa komponen saat ini harus dijalankan setelah komponen yang ditentukan. add_downstream_node memungkinkan Anda menentukan bahwa komponen saat ini harus dieksekusi sebelum komponen yang ditentukan.

Templat saluran pipa

Cara termudah untuk menyiapkan pipeline dengan cepat, dan melihat bagaimana semua bagiannya cocok satu sama lain, adalah dengan menggunakan templat. Penggunaan templat dibahas dalam Membangun Saluran Pipa TFX Secara Lokal .

cache

Caching pipeline TFX memungkinkan pipeline Anda melewati komponen yang telah dieksekusi dengan kumpulan input yang sama pada proses pipeline sebelumnya. Jika caching diaktifkan, alur akan mencoba mencocokkan tanda tangan setiap komponen, komponen, dan kumpulan input, dengan salah satu eksekusi komponen alur ini sebelumnya. Jika ada kecocokan, alur akan menggunakan output komponen dari proses sebelumnya. Jika tidak ada kecocokan maka komponen akan dieksekusi.

Jangan gunakan caching jika pipeline Anda menggunakan komponen non-deterministik. Misalnya, jika Anda membuat komponen untuk membuat nomor acak untuk alur Anda, mengaktifkan cache akan menyebabkan komponen ini dijalankan satu kali. Dalam contoh ini, proses berikutnya menggunakan nomor acak proses pertama, bukan menghasilkan nomor acak.