TFX পাইপলাইনগুলি আপনাকে অর্কেস্ট্রেটরদের উপর আপনার মেশিন লার্নিং (ML) ওয়ার্কফ্লো অর্কেস্ট্রেট করতে দেয়, যেমন: Apache Airflow, Apache Beam, এবং Kubeflow Pipelines। পাইপলাইনগুলি আপনার কর্মপ্রবাহকে উপাদানগুলির একটি ক্রমানুসারে সংগঠিত করে, যেখানে প্রতিটি উপাদান আপনার ML কার্যপ্রবাহের একটি ধাপ সম্পাদন করে। TFX স্ট্যান্ডার্ড উপাদানগুলি আপনাকে সহজে একটি ML ওয়ার্কফ্লো তৈরি করতে সাহায্য করার জন্য প্রমাণিত কার্যকারিতা প্রদান করে। আপনি আপনার কর্মপ্রবাহে কাস্টম উপাদান অন্তর্ভুক্ত করতে পারেন। কাস্টম উপাদানগুলি আপনাকে আপনার এমএল ওয়ার্কফ্লো প্রসারিত করতে দেয়:
- আপনার প্রয়োজন মেটানোর জন্য তৈরি করা উপাদানগুলি তৈরি করা, যেমন একটি মালিকানাধীন সিস্টেম থেকে ডেটা গ্রহণ করা।
- ডেটা অগমেন্টেশন, আপস্যাম্পলিং বা ডাউনস্যাম্পলিং প্রয়োগ করা।
- আত্মবিশ্বাসের ব্যবধান বা অটোএনকোডার প্রজনন ত্রুটির উপর ভিত্তি করে অসঙ্গতি সনাক্তকরণ সম্পাদন করুন।
- বাহ্যিক সিস্টেমের সাথে ইন্টারফেসিং যেমন সতর্কতা এবং পর্যবেক্ষণের জন্য হেল্প ডেস্ক।
- লেবেলবিহীন উদাহরণগুলিতে লেবেল প্রয়োগ করা হচ্ছে।
- আপনার এমএল ওয়ার্কফ্লোতে পাইথন ব্যতীত অন্যান্য ভাষার সাথে নির্মিত সরঞ্জামগুলিকে একীভূত করা, যেমন R ব্যবহার করে ডেটা বিশ্লেষণ করা।
স্ট্যান্ডার্ড কম্পোনেন্ট এবং কাস্টম কম্পোনেন্ট মিশ্রিত করে, আপনি একটি ML ওয়ার্কফ্লো তৈরি করতে পারেন যা TFX স্ট্যান্ডার্ড কম্পোনেন্টে তৈরি সেরা অনুশীলনের সুবিধা নেওয়ার সময় আপনার চাহিদা পূরণ করে।
এই নির্দেশিকাটি TFX কাস্টম উপাদানগুলি বোঝার জন্য প্রয়োজনীয় ধারণাগুলি এবং আপনি কাস্টম উপাদানগুলি তৈরি করার বিভিন্ন উপায় বর্ণনা করে৷
একটি TFX উপাদানের অ্যানাটমি
এই বিভাগটি একটি TFX উপাদানের গঠনের একটি উচ্চ-স্তরের ওভারভিউ প্রদান করে। আপনি যদি TFX পাইপলাইনে নতুন হয়ে থাকেন, TFX পাইপলাইন বোঝার জন্য গাইডটি পড়ে মূল ধারণাগুলি শিখুন ।
TFX উপাদানগুলি একটি কম্পোনেন্ট স্পেসিফিকেশন এবং একটি এক্সিকিউটর ক্লাস নিয়ে গঠিত যা একটি কম্পোনেন্ট ইন্টারফেস ক্লাসে প্যাকেজ করা হয়।
একটি কম্পোনেন্ট স্পেসিফিকেশন কম্পোনেন্টের ইনপুট এবং আউটপুট চুক্তিকে সংজ্ঞায়িত করে। এই চুক্তিটি কম্পোনেন্টের ইনপুট এবং আউটপুট আর্টিফ্যাক্ট এবং কম্পোনেন্ট এক্সিকিউশনের জন্য ব্যবহৃত প্যারামিটারগুলি নির্দিষ্ট করে।
একটি কম্পোনেন্টের এক্সিকিউটর ক্লাস কম্পোনেন্ট দ্বারা সম্পাদিত কাজের বাস্তবায়ন প্রদান করে।
একটি কম্পোনেন্ট ইন্টারফেস ক্লাস একটি TFX পাইপলাইনে একটি উপাদান হিসাবে ব্যবহারের জন্য নির্বাহকের সাথে কম্পোনেন্ট স্পেসিফিকেশনকে একত্রিত করে।
রানটাইমে TFX উপাদান
যখন একটি পাইপলাইন একটি TFX উপাদান চালায়, তখন উপাদানটি তিনটি ধাপে কার্যকর করা হয়:
- প্রথমত, ড্রাইভার মেটাডেটা স্টোর থেকে প্রয়োজনীয় নিদর্শন পুনরুদ্ধার করতে উপাদান স্পেসিফিকেশন ব্যবহার করে এবং সেগুলিকে উপাদানে প্রেরণ করে।
- এর পরে, নির্বাহক উপাদানটির কাজ সম্পাদন করে।
- তারপর প্রকাশক মেটাডেটা স্টোরে উপাদানের আউটপুট সঞ্চয় করতে কম্পোনেন্ট স্পেসিফিকেশন এবং এক্সিকিউটরের ফলাফল ব্যবহার করে।
বেশিরভাগ কাস্টম উপাদান বাস্তবায়নের জন্য আপনাকে ড্রাইভার বা প্রকাশককে কাস্টমাইজ করতে হবে না। সাধারণত, যদি আপনি আপনার পাইপলাইনের উপাদান এবং মেটাডেটা স্টোরের মধ্যে মিথস্ক্রিয়া পরিবর্তন করতে চান তবেই ড্রাইভার এবং প্রকাশকের পরিবর্তনগুলি প্রয়োজনীয় হওয়া উচিত। আপনি যদি শুধুমাত্র আপনার কম্পোনেন্টের জন্য ইনপুট, আউটপুট বা প্যারামিটার পরিবর্তন করতে চান তাহলে আপনাকে শুধুমাত্র কম্পোনেন্ট স্পেসিফিকেশন পরিবর্তন করতে হবে।
কাস্টম উপাদানের প্রকার
তিন ধরনের কাস্টম উপাদান রয়েছে: পাইথন ফাংশন-ভিত্তিক উপাদান, ধারক-ভিত্তিক উপাদান এবং সম্পূর্ণরূপে কাস্টম উপাদান। নিম্নলিখিত বিভাগগুলি বিভিন্ন ধরণের উপাদান এবং কেসগুলি বর্ণনা করে যখন আপনার প্রতিটি পদ্ধতি ব্যবহার করা উচিত।
পাইথন ফাংশন-ভিত্তিক উপাদান
পাইথন ফাংশন-ভিত্তিক উপাদানগুলি কন্টেইনার-ভিত্তিক উপাদান বা সম্পূর্ণ কাস্টম উপাদানগুলির তুলনায় তৈরি করা সহজ। কম্পোনেন্ট স্পেসিফিকেশন পাইথন ফাংশনের আর্গুমেন্টে টাইপ টীকা ব্যবহার করে সংজ্ঞায়িত করা হয় যা বর্ণনা করে যে আর্গুমেন্ট একটি ইনপুট আর্টিফ্যাক্ট, আউটপুট আর্টিফ্যাক্ট বা একটি প্যারামিটার। ফাংশন বডি উপাদানটির নির্বাহককে সংজ্ঞায়িত করে। কম্পোনেন্ট ইন্টারফেস আপনার ফাংশনে @component
ডেকোরেটর যোগ করে সংজ্ঞায়িত করা হয়।
@component
ডেকোরেটর দিয়ে আপনার ফাংশন সাজিয়ে এবং টাইপ টীকা দিয়ে ফাংশন আর্গুমেন্ট সংজ্ঞায়িত করে, আপনি একটি কম্পোনেন্ট স্পেসিফিকেশন, এক্সিকিউটর এবং একটি কম্পোনেন্ট ইন্টারফেস তৈরির জটিলতা ছাড়াই একটি কম্পোনেন্ট তৈরি করতে পারেন।
পাইথন ফাংশন-ভিত্তিক উপাদানগুলি কীভাবে তৈরি করবেন তা শিখুন।
ধারক-ভিত্তিক উপাদান
কন্টেইনার-ভিত্তিক উপাদানগুলি আপনার পাইপলাইনে যেকোন ভাষায় লেখা কোড সংহত করার নমনীয়তা প্রদান করে, যতক্ষণ না আপনি একটি ডকার কন্টেইনারে সেই কোডটি কার্যকর করতে পারেন। একটি কন্টেইনার-ভিত্তিক উপাদান তৈরি করতে, আপনাকে অবশ্যই একটি ডকার কন্টেইনার ইমেজ তৈরি করতে হবে যাতে আপনার কম্পোনেন্টের এক্সিকিউটেবল কোড থাকে। তারপর আপনি সংজ্ঞায়িত করতে create_container_component
ফাংশন কল করতে হবে:
- আপনার কম্পোনেন্ট স্পেসিফিকেশনের ইনপুট, আউটপুট এবং প্যারামিটার।
- কন্টেইনার ইমেজ এবং কমান্ড যা কম্পোনেন্ট এক্সিকিউটর চালায়।
এই ফাংশনটি এমন একটি উপাদানের একটি উদাহরণ প্রদান করে যা আপনি আপনার পাইপলাইনের সংজ্ঞাতে অন্তর্ভুক্ত করতে পারেন।
এই পদ্ধতিটি একটি পাইথন ফাংশন-ভিত্তিক উপাদান তৈরির চেয়ে আরও জটিল, কারণ এটির জন্য একটি ধারক চিত্র হিসাবে আপনার কোড প্যাকেজিং প্রয়োজন। এই পদ্ধতিটি আপনার পাইপলাইনে অ-পাইথন কোড অন্তর্ভুক্ত করার জন্য বা জটিল রানটাইম পরিবেশ বা নির্ভরতা সহ পাইথন উপাদানগুলি তৈরি করার জন্য সবচেয়ে উপযুক্ত।
ধারক-ভিত্তিক উপাদানগুলি কীভাবে তৈরি করবেন তা শিখুন।
সম্পূর্ণ কাস্টম উপাদান
সম্পূর্ণ কাস্টম উপাদানগুলি আপনাকে কম্পোনেন্ট স্পেসিফিকেশন, এক্সিকিউটর এবং কম্পোনেন্ট ইন্টারফেস ক্লাস নির্ধারণ করে উপাদান তৈরি করতে দেয়। এই পদ্ধতিটি আপনাকে আপনার প্রয়োজনের সাথে মানানসই একটি মানক উপাদান পুনরায় ব্যবহার এবং প্রসারিত করতে দেয়।
যদি একটি বিদ্যমান উপাদান একই ইনপুট এবং আউটপুট দ্বারা সংজ্ঞায়িত করা হয় আপনি যে কাস্টম উপাদানটি বিকাশ করছেন, আপনি কেবল বিদ্যমান উপাদানটির এক্সিকিউটর ক্লাসকে ওভাররাইড করতে পারেন। এর মানে হল যে আপনি একটি কম্পোনেন্ট স্পেসিফিকেশন পুনঃব্যবহার করতে পারেন এবং একটি নতুন নির্বাহক প্রয়োগ করতে পারেন যা একটি বিদ্যমান উপাদান থেকে উদ্ভূত হয়। এইভাবে, আপনি বিদ্যমান উপাদানগুলির মধ্যে নির্মিত কার্যকারিতা পুনরায় ব্যবহার করেন এবং শুধুমাত্র প্রয়োজনীয় কার্যকারিতা বাস্তবায়ন করেন।
তবে আপনার নতুন কম্পোনেন্টের ইনপুট এবং আউটপুট অনন্য হলে, আপনি একটি সম্পূর্ণ নতুন কম্পোনেন্ট স্পেসিফিকেশন নির্ধারণ করতে পারেন।
বিদ্যমান কম্পোনেন্ট স্পেসিফিকেশন এবং নির্বাহক পুনরায় ব্যবহার করার জন্য এই পদ্ধতিটি সর্বোত্তম।
কীভাবে সম্পূর্ণ কাস্টম উপাদান তৈরি করবেন তা শিখুন।