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 : এই পাইপলাইনের নাম। পাইপলাইনের নাম অনন্য হতে হবে।

    কম্পোনেন্ট ইনপুট আর্টিফ্যাক্টের জন্য ML মেটাডেটা জিজ্ঞাসা করার সময় TFX পাইপলাইনের নাম ব্যবহার করে। একটি পাইপলাইনের নাম পুনরায় ব্যবহার করার ফলে অপ্রত্যাশিত আচরণ হতে পারে।

  • pipeline-root : এই পাইপলাইনের আউটপুটগুলির মূল পথ। রুট পাথটি অবশ্যই একটি ডিরেক্টরির সম্পূর্ণ পাথ হতে হবে যা আপনার অর্কেস্ট্রেটর পড়তে এবং লিখতে অ্যাক্সেস করেছে৷ রানটাইমে, TFX কম্পোনেন্ট আর্টিফ্যাক্টের জন্য আউটপুট পাথ তৈরি করতে পাইপলাইন রুট ব্যবহার করে। এই ডিরেক্টরি স্থানীয় হতে পারে, বা সমর্থিত বিতরণ করা ফাইল সিস্টেমে, যেমন Google ক্লাউড স্টোরেজ বা HDFS।

  • components : এই পাইপলাইনের কর্মপ্রবাহ তৈরি করে এমন উপাদান উদাহরণগুলির একটি তালিকা৷

  • enable-cache : (ঐচ্ছিক।) একটি বুলিয়ান মান যা নির্দেশ করে যে এই পাইপলাইনটি পাইপলাইন নির্বাহের গতি বাড়াতে ক্যাশিং ব্যবহার করে কিনা।

  • metadata-connection-config : (ঐচ্ছিক।) ML মেটাডেটার জন্য একটি সংযোগ কনফিগারেশন।

কম্পোনেন্ট এক্সিকিউশন গ্রাফ সংজ্ঞায়িত করা

কম্পোনেন্ট ইনস্ট্যান্স আউটপুট হিসাবে আর্টিফ্যাক্ট তৈরি করে এবং সাধারণত ইনপুট হিসাবে আপস্ট্রিম কম্পোনেন্ট ইনস্ট্যান্স দ্বারা উত্পাদিত আর্টিফ্যাক্টের উপর নির্ভর করে। কম্পোনেন্ট ইন্সট্যান্সের জন্য এক্সিকিউশন সিকোয়েন্স আর্টিফ্যাক্ট নির্ভরতাগুলির একটি নির্দেশিত অ্যাসাইক্লিক গ্রাফ (DAG) তৈরি করে নির্ধারিত হয়।

উদাহরণ স্বরূপ, ExampleGen স্ট্যান্ডার্ড কম্পোনেন্ট একটি CSV ফাইল থেকে ডেটা ইনজেস্ট করতে পারে এবং সিরিয়ালাইজড উদাহরণ রেকর্ড আউটপুট করতে পারে। StatisticsGen স্ট্যান্ডার্ড কম্পোনেন্ট এই উদাহরণ রেকর্ডগুলিকে ইনপুট হিসাবে গ্রহণ করে এবং ডেটাসেট পরিসংখ্যান তৈরি করে। এই উদাহরণে, StatisticsGen এর উদাহরণ অবশ্যই ExampleGen অনুসরণ করবে কারণ SchemaGen ExampleGen এর আউটপুটের উপর নির্ভর করে।

টাস্ক-ভিত্তিক নির্ভরতা

আপনি আপনার কম্পোনেন্টের add_upstream_node এবং add_downstream_node পদ্ধতি ব্যবহার করে টাস্ক-ভিত্তিক নির্ভরতাও সংজ্ঞায়িত করতে পারেন। add_upstream_node আপনাকে নির্দিষ্ট করতে দেয় যে বর্তমান উপাদানটি নির্দিষ্ট কম্পোনেন্টের পরে কার্যকর করা আবশ্যক। add_downstream_node আপনাকে নির্দিষ্ট করতে দেয় যে বর্তমান উপাদানটি নির্দিষ্ট কম্পোনেন্টের আগে কার্যকর করতে হবে।

পাইপলাইন টেমপ্লেট

একটি পাইপলাইন দ্রুত সেট আপ করার সবচেয়ে সহজ উপায়, এবং কিভাবে সমস্ত টুকরো একসাথে ফিট করে তা দেখতে একটি টেমপ্লেট ব্যবহার করা। স্থানীয়ভাবে একটি TFX পাইপলাইন তৈরিতে টেমপ্লেট ব্যবহার করা অন্তর্ভুক্ত।

ক্যাশিং

TFX পাইপলাইন ক্যাশিং আপনার পাইপলাইনকে পূর্ববর্তী পাইপলাইনে চালানোর একই সেট ইনপুট দিয়ে কার্যকর করা উপাদানগুলির উপর এড়িয়ে যেতে দেয়। ক্যাশিং সক্ষম হলে, পাইপলাইন এই পাইপলাইনের আগের কম্পোনেন্ট এক্সিকিউশনগুলির একটির সাথে প্রতিটি কম্পোনেন্ট, কম্পোনেন্ট এবং ইনপুট সেটের স্বাক্ষর মেলানোর চেষ্টা করে। যদি একটি মিল থাকে, পাইপলাইন পূর্ববর্তী রান থেকে উপাদান আউটপুট ব্যবহার করে। যদি একটি মিল না থাকে তবে উপাদানটি কার্যকর করা হয়।

যদি আপনার পাইপলাইন নন-ডিটারমিনিস্টিক উপাদান ব্যবহার করে তবে ক্যাশিং ব্যবহার করবেন না। উদাহরণস্বরূপ, যদি আপনি আপনার পাইপলাইনের জন্য একটি র্যান্ডম নম্বর তৈরি করার জন্য একটি উপাদান তৈরি করেন, ক্যাশে সক্ষম করার ফলে এই উপাদানটি একবার কার্যকর হয়। এই উদাহরণে, পরবর্তী রানগুলি একটি র্যান্ডম সংখ্যা তৈরি করার পরিবর্তে প্রথম রানের র্যান্ডম নম্বর ব্যবহার করে।