ساخت خطوط لوله TFX

استفاده از کلاس Pipeline

خطوط لوله TFX با استفاده از کلاس Pipeline تعریف می شوند. مثال زیر نحوه استفاده از کلاس Pipeline را نشان می دهد.

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

موارد زیر را جایگزین کنید:

  • pipeline-name : نام این خط لوله. نام خط لوله باید منحصر به فرد باشد.

    TFX از نام خط لوله هنگام پرس و جو از ML Metadata برای مصنوعات ورودی مؤلفه استفاده می کند. استفاده مجدد از نام خط لوله ممکن است منجر به رفتارهای غیرمنتظره شود.

  • pipeline-root : مسیر ریشه خروجی های این خط لوله. مسیر ریشه باید مسیر کامل دایرکتوری باشد که ارکستراتور شما به آن دسترسی به خواندن و نوشتن دارد. در زمان اجرا، TFX از ریشه خط لوله برای تولید مسیرهای خروجی برای مصنوعات جزء استفاده می کند. این فهرست می‌تواند محلی یا روی یک سیستم فایل توزیع‌شده پشتیبانی‌شده، مانند Google Cloud Storage یا HDFS باشد.

  • components : فهرستی از نمونه های مؤلفه ای که گردش کار این خط لوله را تشکیل می دهند.

  • enable-cache : (اختیاری.) یک مقدار بولی که نشان می دهد آیا این خط لوله از کش برای سرعت بخشیدن به اجرای خط لوله استفاده می کند یا خیر.

  • metadata-connection-config : (اختیاری.) یک پیکربندی اتصال برای ML Metadata.

تعریف گراف اجرای کامپوننت

نمونه های کامپوننت، مصنوعات را به عنوان خروجی تولید می کنند و معمولاً به مصنوعات تولید شده توسط نمونه های جزء بالادستی به عنوان ورودی بستگی دارند. دنباله اجرا برای نمونه های جزء با ایجاد یک گراف غیر چرخه ای جهت دار (DAG) از وابستگی های مصنوع تعیین می شود.

برای مثال، مؤلفه استاندارد ExampleGen می‌تواند داده‌ها را از یک فایل CSV دریافت کند و رکوردهای نمونه سریالی را خروجی کند. مؤلفه استاندارد StatisticsGen این رکوردهای نمونه را به عنوان ورودی می پذیرد و آمار مجموعه داده را تولید می کند. در این مثال، نمونه StatisticsGen باید از ExampleGen پیروی کند زیرا SchemaGen به خروجی ExampleGen بستگی دارد.

وابستگی های مبتنی بر وظیفه

همچنین می توانید وابستگی های مبتنی بر وظیفه را با استفاده از متدهای add_upstream_node و add_downstream_node جزء خود تعریف کنید. add_upstream_node به شما امکان می دهد مشخص کنید که جزء فعلی باید بعد از کامپوننت مشخص شده اجرا شود. add_downstream_node به شما امکان می دهد مشخص کنید که جزء فعلی باید قبل از مولفه مشخص شده اجرا شود.

الگوهای خط لوله

ساده ترین راه برای راه اندازی سریع خط لوله و دیدن اینکه چگونه همه قطعات با هم قرار می گیرند، استفاده از یک الگو است. استفاده از الگوها در ساخت یک خط لوله TFX به صورت محلی پوشش داده شده است.

ذخیره سازی

ذخیره سازی خط لوله TFX به خط لوله شما اجازه می دهد از اجزایی که با مجموعه ورودی های مشابه در اجرای خط لوله قبلی اجرا شده اند عبور کند. اگر حافظه پنهان فعال باشد، خط لوله تلاش می‌کند امضای هر مؤلفه، مؤلفه و مجموعه ورودی‌ها را با یکی از اجرای مؤلفه‌های قبلی این خط لوله مطابقت دهد. اگر مطابقت وجود داشته باشد، خط لوله از خروجی های مؤلفه اجرای قبلی استفاده می کند. در صورت عدم تطابق، کامپوننت اجرا می شود.

اگر خط لوله شما از اجزای غیر قطعی استفاده می کند از کش استفاده نکنید. به عنوان مثال، اگر کامپوننتی را برای ایجاد یک عدد تصادفی برای خط لوله خود ایجاد کنید، فعال کردن کش باعث می شود که این کامپوننت یک بار اجرا شود. در این مثال، اجراهای بعدی به جای تولید یک عدد تصادفی، از عدد تصادفی اولین اجرا استفاده می کنند.