HP টিউনিং সহ নোটবুক থেকে কুবেফ্লো পাইপলাইন পর্যন্ত: একটি ডেটা সায়েন্স জার্নি

১. ভূমিকা

কুবেফ্লো হলো কুবারনেটিসের জন্য একটি মেশিন লার্নিং টুলকিট। এই প্রকল্পের মূল উদ্দেশ্য হলো কুবারনেটিসে মেশিন লার্নিং (এমএল) ওয়ার্কফ্লো স্থাপনকে সহজ, বহনযোগ্য এবং সম্প্রসারণযোগ্য করে তোলা। এর লক্ষ্য হলো বিভিন্ন ধরনের অবকাঠামোতে এমএল-এর জন্য সেরা ওপেন-সোর্স সিস্টেমগুলো স্থাপনের একটি সহজ উপায় প্রদান করা।

একটি কুবেফ্লো ডেপ্লয়মেন্ট দেখতে কেমন হয়?

একটি কুবেফ্লো ডেপ্লয়মেন্ট হলো:

  • বহনযোগ্য - যেকোনো Kubernetes ক্লাস্টারে কাজ করে, তা Google Cloud Platform (GCP)-এ থাকুক, নিজস্ব প্রাঙ্গণে থাকুক, বা বিভিন্ন প্রোভাইডারের অধীনে থাকুক।
  • স্কেলেবল - এটি পরিবর্তনশীল রিসোর্স ব্যবহার করতে পারে এবং এর সীমাবদ্ধতা কেবল কুবারনেটিস ক্লাস্টারের জন্য বরাদ্দকৃত রিসোর্সের সংখ্যার মধ্যেই সীমাবদ্ধ থাকে।
  • কম্পোজেবল - এটি আপনাকে নির্বাচিত কিছু এমএল ফ্রেমওয়ার্ক এবং লাইব্রেরি থেকে বেছে নিয়ে স্বতন্ত্র ধাপগুলোকে একটি সম্পূর্ণ এমএল ওয়ার্কফ্লোতে কনফিগার করার সুযোগ দেয়।

Kubeflow আপনাকে লুজলি-কাপলড মাইক্রোসার্ভিসগুলোকে একটি একক ইউনিট হিসেবে সংগঠিত করার এবং ল্যাপটপ, অন-প্রিমিসেস বা ক্লাউড সহ বিভিন্ন স্থানে সেগুলোকে ডেপ্লয় করার ক্ষমতা দেয়।

এই কোডল্যাবটি আপনাকে MiniKF ব্যবহার করে আপনার নিজস্ব Kubeflow ডেপ্লয়মেন্ট তৈরি করতে এবং তারপর একটি মডেলকে প্রশিক্ষণ ও পরিবেশন করার জন্য হাইপারপ্যারামিটার টিউনিং সহ একটি Kubeflow Pipelines ওয়ার্কফ্লো চালাতে ধাপে ধাপে শেখাবে। এই পুরো কাজটি আপনি একটি Jupyter Notebook-এর ভেতর থেকেই করবেন।

আপনি যা তৈরি করবেন

এই কোডল্যাবে, আপনি কোনো CLI কমান্ড বা SDK ব্যবহার না করে Kubeflow Pipelines-এ হাইপারপ্যারামিটার টিউনিং সহ একটি জটিল ডেটা সায়েন্স পাইপলাইন তৈরি করবেন। আপনার Kubernetes বা Docker সম্পর্কে কোনো জ্ঞানের প্রয়োজন নেই। কোর্সটি সম্পন্ন করার পর, আপনার ইনফ্রাস্ট্রাকচারে থাকবে:

  • একটি মিনিকেএফ (মিনি কুবেফ্লো) ভিএম যা স্বয়ংক্রিয়ভাবে ইনস্টল করে:
  • কুবারনেটিস (মিনিকিউব ব্যবহার করে)
  • কুবেফ্লো
  • Kale , সাধারণ Jupyter নোটবুককে Kubeflow Pipelines ওয়ার্কফ্লোতে রূপান্তর করার একটি টুল ( GitHub )
  • ডেটা ভার্সনিং এবং পুনরুৎপাদনযোগ্যতার জন্য আরিক্টো রক

আপনি যা শিখবেন

  • MiniKF দিয়ে Kubeflow কীভাবে ইনস্টল করবেন
  • কোনো CLI কমান্ড বা SDK ব্যবহার না করে কীভাবে আপনার Jupyter নোটবুকগুলিকে Kubeflow পাইপলাইনে রূপান্তর করবেন
  • নোটবুকের ভেতর থেকে একটি বোতামে ক্লিক করে কীভাবে হাইপারপ্যারামিটার টিউনিং সহ কুবেফ্লো পাইপলাইন চালানো যায়
  • নোটবুকে এবং পাইপলাইনের প্রতিটি ধাপে কীভাবে স্বয়ংক্রিয়ভাবে আপনার ডেটার ভার্সন তৈরি করবেন

আপনার যা যা লাগবে

  • একটি সক্রিয় GCP প্রজেক্ট যার জন্য আপনার মালিকের অনুমতি রয়েছে

এটি কুবেফ্লো-এর উপর ভিত্তি করে তৈরি একটি অ্যাডভান্সড কোডল্যাব। প্ল্যাটফর্মটি সম্পর্কে আরও বিস্তারিত পটভূমি ও পরিচিতির জন্য, “ Introduction to Kubeflow” ডকুমেন্টেশনটি দেখুন। অপ্রাসঙ্গিক ধারণা এবং কোড ব্লকগুলো সংক্ষেপে আলোচনা করা হয়েছে এবং আপনার কেবল কপি-পেস্ট করার জন্য সরবরাহ করা হয়েছে।

২. পরিবেশ প্রস্তুত করুন

আপনার GCP প্রজেক্ট সেট আপ করুন

একটি GCP প্রজেক্ট তৈরি করতে বা আপনার বিদ্যমান GCP প্রজেক্ট কনফিগার করতে নিচের ধাপগুলো অনুসরণ করুন। আপনি যদি একটি বিদ্যমান GCP প্রজেক্ট ব্যবহার করার পরিকল্পনা করেন, তবে নিশ্চিত করুন যে প্রজেক্টটি নিচে বর্ণিত ন্যূনতম প্রয়োজনীয়তাগুলো পূরণ করে। প্রথম ধাপ হলো GCP কনসোলে রিসোর্স ম্যানেজার খোলা।

একটি নতুন প্রকল্প তৈরি করুন অথবা একটি বিদ্যমান প্রকল্প নির্বাচন করুন:

99b103929d928576.png

নিম্নলিখিত ন্যূনতম প্রয়োজনীয়তাগুলি যাচাই করুন:

  • প্রকল্পটিতে আপনার মালিকের ভূমিকা আছে কিনা তা নিশ্চিত করুন।
  • আপনার প্রোজেক্টের জন্য বিলিং চালু আছে কিনা তা নিশ্চিত করুন।
  • আপনি যদি GCP ফ্রি টিয়ার অথবা $300 ক্রেডিট সহ ১২-মাসের ট্রায়াল পিরিয়ড ব্যবহার করেন, তবে মনে রাখবেন যে আপনি MiniKF-এর ডিফল্ট GCP ইনস্টলেশনটি চালাতে পারবেন না, কারণ ফ্রি টিয়ারে পর্যাপ্ত রিসোর্স নেই। আপনাকে একটি পেইড অ্যাকাউন্টে আপগ্রেড করতে হবে।

একটি GCP প্রজেক্ট সেট আপ করার বিষয়ে আরও সাহায্যের জন্য, GCP ডকুমেন্টেশন দেখুন।

আপনার GCP প্রজেক্ট সেট আপ করার পরে, সরাসরি MiniKF ইনস্টল করার নির্দেশাবলীতে চলে যান।

আপনার পূর্ব-বরাদ্দকৃত GCP প্রকল্পটি খুলুন

আপনার আগে থেকে বরাদ্দ করা GCP প্রজেক্টটি খোলার জন্য, নিচের বোতামে ক্লিক করে GCP কনসোলে যান এবং উপরের বাম দিকের হ্যামবার্গার মেনুতে থাকা হোম প্যানেলটি খুলুন। যদি স্ক্রিনটি খালি থাকে, তাহলে একটি ড্যাশবোর্ড তৈরি করার জন্য আসা প্রম্পটে 'হ্যাঁ' (Yes) ক্লিক করুন।

3fdc4329995406a0.png

প্রকল্পটি আগে থেকে নির্বাচিত না থাকলে, 'একটি প্রকল্প নির্বাচন করুন'-এ ক্লিক করুন:

e8952c0b96067dea.png

আপনার প্রকল্প নির্বাচন করুন। আপনার কেবল একটিই থাকা উচিত:

fe25c1925487142.png

৩. মিনিকেএফ ইনস্টল করুন

MiniKF সহ একটি Compute ইনস্ট্যান্স তৈরি করুন

GCP মার্কেটপ্লেসে 'MiniKF' লিখে অনুসন্ধান করুন।

Arrikto দ্বারা MiniKF ভার্চুয়াল মেশিনটি নির্বাচন করুন:

d6b423c1911ea85a.png

লঞ্চ বোতামে ক্লিক করুন এবং আপনার প্রজেক্টটি নির্বাচন করুন:

7d07439db939b61c.png

কনফিগার ও ডিপ্লয় উইন্ডোতে, আপনার MiniKF ইনস্ট্যান্সের জন্য একটি নাম এবং একটি জোন বেছে নিন এবং ডিফল্ট অপশনগুলো অপরিবর্তিত রাখুন। তারপর ডিপ্লয় বাটনে ক্লিক করুন:

7d5f7d17a80a1930.png

MiniKF Compute ইনস্ট্যান্সটি চালু হওয়ার জন্য অপেক্ষা করুন:

5228086caadc44c6.png

মিনিকেএফ-এ লগ ইন করুন

যখন MiniKF VM চালু হবে, তখন SSH বোতামে ক্লিক করে সংযোগ করুন এবং লগ ইন করুন। minikf কমান্ডটি চালানোর জন্য স্ক্রিনে দেওয়া নির্দেশাবলী অনুসরণ করুন, যা Minikube, Kubeflow, এবং Rok-এর ডেপ্লয়মেন্ট শুরু করবে। এটি সম্পন্ন হতে কয়েক মিনিট সময় লাগবে।

774e83c3e96cf7b3.png

Kubeflow-এ লগ ইন করুন

ইনস্টলেশন সম্পূর্ণ হলে এবং সমস্ত পড প্রস্তুত হয়ে গেলে, MiniKF ড্যাশবোর্ডে যান। MiniKF ইউজারনেম এবং পাসওয়ার্ড ব্যবহার করে Kubeflow-তে লগ ইন করুন:

251b0bcdbf6d3c71.png

9d49d899bb0b5bd1.png

ক্রোম ব্যবহারকারীরা এই স্ক্রিনটি দেখতে পাবেন:

6258e0f09e46a6c2.png

ফায়ারফক্স ব্যবহারকারীরা এই স্ক্রিনটি দেখতে পাবেন:

8cff90ce2f0670bd.png

সাফারি ব্যবহারকারীরা এই স্ক্রিনটি দেখতে পাবেন:

1c6fd768d71c0a92.png

Rok-এ লগ ইন করুন

Kubeflow-তে লগ ইন করার পর, হ্যামবার্গার আইকনে ক্লিক করে বাম দিকের মেনুটি খুলুন। Snapshots- এ ক্লিক করুন এবং MiniKF ইউজারনেম ও পাসওয়ার্ড ব্যবহার করে Rok-এ লগ ইন করুন।

16171f35a935a9af.png

80aad6ba5d298a7e.png

অভিনন্দন! আপনি সফলভাবে GCP-তে MiniKF স্থাপন করেছেন। এখন আপনি নোটবুক তৈরি করতে, আপনার ML কোড লিখতে, Kubeflow Pipelines চালাতে এবং ডেটা ভার্সনিং ও পুনরুৎপাদনযোগ্যতার জন্য Rok ব্যবহার করতে পারবেন।

৪. আপনার নোটবুকের ভেতর থেকে একটি পাইপলাইন চালান।

এই অংশে, আপনি উডাসিটি এআই ন্যানোডিগ্রির একটি প্রজেক্ট, ‘ডগ ব্রিড আইডেন্টিফিকেশন’ উদাহরণটি চালাবেন। একটি কুকুরের ছবি দেওয়া হলে, চূড়ান্ত মডেলটি কুকুরটির প্রজাতি সম্পর্কে একটি ধারণা দেবে।

আপনার কুবেফ্লো ক্লাস্টারে একটি নোটবুক সার্ভার তৈরি করুন

Kubeflow সেন্ট্রাল ড্যাশবোর্ডে থাকা নোটবুকস লিঙ্কে যান।

60825e935fd0f39b.png

নতুন সার্ভারে ক্লিক করুন।

f9303c0a182e47f5.png

আপনার নোটবুক সার্ভারের জন্য একটি নাম নির্দিষ্ট করুন।

a2343f30bc9522ab.png

নিশ্চিত করুন যে আপনি নিম্নলিখিত ডকার ইমেজটি নির্বাচন করেছেন (উল্লেখ্য যে, ইমেজ ট্যাগ ভিন্ন হতে পারে):

gcr.io/arrikto/jupyter-kale:f20978e

৫ জিবি আকারের একটি নতুন, খালি ডেটা ভলিউম যোগ করুন এবং এর নাম দিন ' ডেটা'

8544d9b05826b316.png

নোটবুক সার্ভার তৈরি করতে লঞ্চ -এ ক্লিক করুন।

28c024bcc55cc70a.png

যখন নোটবুক সার্ভারটি উপলব্ধ হবে, সেটিতে সংযোগ করতে ‘Connect’- এ ক্লিক করুন।

52f1f8234988ceaa.png

ডেটা এবং নোটবুক ডাউনলোড করুন

জুপিটারল্যাব ল্যান্ডিং পেজ সহ একটি নতুন ট্যাব খুলে যাবে। জুপিটারল্যাবে একটি নতুন টার্মিনাল তৈরি করুন।

ab9ac96f1a1f0d09.png

টার্মিনাল উইন্ডোতে, ডেটা ফোল্ডারে যেতে এবং ল্যাবের বাকি অংশের জন্য প্রয়োজনীয় নোটবুক ও ডেটা ডাউনলোড করতে এই কমান্ডগুলো চালান:

cd data/
git clone https://github.com/kubeflow-kale/kale

ক্লোন করা রিপোজিটরিটিতে ডেটাসহ নির্বাচিত কিছু উদাহরণ এবং টীকাযুক্ত নোটবুক রয়েছে।

সাইডবারে, data/kale/examples/dog-breed-classification/ ফোল্ডারটিতে যান এবং dog-breed.ipynb নোটবুকটি খুলুন।

2bc436465522f65b.png

কুকুরের জাত শনাক্তকরণ উদাহরণটির এমএল কোডটি অন্বেষণ করুন।

আপাতত, ডেটাসেট ডাউনলোড করার সেলগুলো চালাবেন না , কারণ আপনি এইমাত্র ক্লোন করা রিপোজিটরিতে অন্তর্ভুক্ত কিছু ছোট ডেটাসেট ব্যবহার করতে যাচ্ছেন। আপনি যদি বাড়ি থেকে নিজের সুবিধামতো এই উদাহরণটি চালান, তাহলে নির্দ্বিধায় ডেটাসেটগুলো ডাউনলোড করতে পারেন।

প্রয়োজনীয় সমস্ত লাইব্রেরি ইম্পোর্ট করতে imports সেলটি চালান। লক্ষ্য করুন যে, একটি লাইব্রেরি অনুপস্থিত থাকার কারণে কোডটি ব্যর্থ হচ্ছে :

5e2b97ab2512f139.png

সাধারণত, এই নোটবুকটিকে একটি কুবেফ্লো পাইপলাইন হিসেবে চালানোর জন্য এবং নতুন ইনস্টল করা লাইব্রেরিগুলো অন্তর্ভুক্ত করার জন্য আপনার একটি নতুন ডকার ইমেজ তৈরি করা উচিত। সৌভাগ্যবশত, Rok এবং Kale নিশ্চিত করে যে ডেভেলপমেন্টের সময় আপনি যে লাইব্রেরিগুলো ইনস্টল করবেন, সেগুলো আপনার পাইপলাইনে পৌঁছে যাবে। এটি সম্ভব হয় Rok-এর স্ন্যাপশটিং প্রযুক্তি এবং Kale-এর সেই স্ন্যাপশট করা ভলিউমগুলোকে পাইপলাইনের ধাপগুলোতে মাউন্ট করার মাধ্যমে।

অনুপস্থিত লাইব্রেরিটি ইনস্টল করতে পরবর্তী সেলটি চালান:

c483da77943a6f01.png

রিস্টার্ট আইকনে ক্লিক করে নোটবুক কার্নেলটি পুনরায় চালু করুন:

376b5203209c2c91.png

সঠিক লাইব্রেরিগুলো ইনস্টল করে imports সেলটি আবার চালান এবং দেখুন এটি সফল হয়।

Kubeflow Pipelines-এ আপনার নোটবুককে একটি পাইপলাইনে রূপান্তর করুন।

নোটবুকের বাম প্যানে থাকা Kubeflow আইকনে ক্লিক করে Kale সক্রিয় করুন:

7b96241f2ab6c389.png

কেল ডিপ্লয়মেন্ট প্যানেলে থাকা স্লাইডারে ক্লিক করে কেল সক্রিয় করুন :

804cfbf9d76b7e23.png

নোটবুকের প্রতিটি সেলের মধ্যকার নির্ভরশীলতা অন্বেষণ করুন। দেখুন কীভাবে একাধিক নোটবুক সেল একটিমাত্র পাইপলাইন ধাপের অংশ হতে পারে, যা সেলগুলোর বাম দিকে থাকা রঙিন বার দ্বারা নির্দেশিত হয়, এবং কীভাবে একটি পাইপলাইন ধাপ পূর্ববর্তী ধাপগুলোর উপর নির্ভরশীল হতে পারে, যা সেলগুলোর উপরে থাকা ' নির্ভর করে ' লেবেল দ্বারা নির্দেশিত হয়। উদাহরণস্বরূপ, নিচের ছবিতে এমন একাধিক সেল দেখানো হয়েছে যা একই পাইপলাইন ধাপের অংশ। এগুলোর রঙ একই, লাল এবং এগুলো একটি পূর্ববর্তী পাইপলাইন ধাপের উপর নির্ভরশীল।

fcd0fb351cdfb359.png

কম্পাইল এবং রান বোতামে ক্লিক করুন:

18f2f6f0e12393d5.png

এখন Kale আপনার নোটবুকটিকে একটি Kubeflow Pipelines পাইপলাইনে রূপান্তর করে এর দায়িত্ব নেয় এবং এটিকে বিল্ড করে। এছাড়াও, যেহেতু Kale বর্তমান নোটবুকের ডেটা ভলিউমের স্ন্যাপশট নেওয়ার জন্য Rok-এর সাথে ইন্টিগ্রেট করে, তাই আপনি স্ন্যাপশটটির অগ্রগতি পর্যবেক্ষণ করতে পারেন। Rok ডেটা ভার্সনিং এবং আপনি যখন 'Compile and Run' বোতামে ক্লিক করেছিলেন, তখনকার সম্পূর্ণ এনভায়রনমেন্টটিকে হুবহু পুনরায় তৈরি করার দায়িত্ব নেয়। এইভাবে, আপনার ডেটা এবং কোডের জন্য একটি টাইম মেশিন তৈরি হয় এবং নতুন ডকার ইমেজ বিল্ড করার প্রয়োজন ছাড়াই আপনার পাইপলাইনটি সেই একই এনভায়রনমেন্টে রান করবে যেখানে আপনি আপনার কোড ডেভেলপ করেছেন।

de1b88af76df1a9a.png

পাইপলাইনটি কম্পাইল করে কুবেফ্লো পাইপলাইনস-এ আপলোড করা হয়েছে। এখন কুবেফ্লো পাইপলাইনস UI-তে যেতে এবং রানটি দেখতে লিঙ্কটিতে ক্লিক করুন।

e0b467e2e7034b5d.png

Kubeflow Pipelines UI একটি নতুন ট্যাবে খুলবে। রানটি শেষ হওয়া পর্যন্ত অপেক্ষা করুন।

21a9d54a57f3e20c.png

39e6fa39516d2773.png

অভিনন্দন! আপনি এইমাত্র আপনার নোটবুক থেকে শুরু করে কুবেফ্লো পাইপলাইনস-এ একটি এন্ড-টু-এন্ড পাইপলাইন রান করলেন!

৫. হাইপারপ্যারামিটার টিউনিং সহ ট্রান্সফার লার্নিং

ফলাফলগুলো পরীক্ষা করুন

`cnn-from-scratch` ধাপটির লগগুলো দেখুন। (Kubeflow Pipelines UI-তে গ্রাফের ধাপটির উপর ক্লিক করুন, তারপর `Logs` ট্যাবে ক্লিক করুন।) এই ধাপেই আপনি একেবারে শুরু থেকে একটি কনভল্যুশনাল নিউরাল নেটওয়ার্ক (CNN) প্রশিক্ষণ দিয়েছেন। লক্ষ্য করুন যে, প্রশিক্ষিত মডেলটির অ্যাকুরেসি খুবই কম এবং তার উপর, এই ধাপটি সম্পন্ন হতে অনেক সময় লেগেছে।

62bf0835e9896c67.png

cnn-vgg16 ধাপের লগগুলো দেখুন। এই ধাপে, আপনি প্রি-ট্রেইনড VGG-16 মডেলের উপর ট্রান্সফার লার্নিং ব্যবহার করেছেন—এটি ভিজ্যুয়াল জিওমেট্রি গ্রুপ (VGG) দ্বারা প্রশিক্ষিত একটি নিউরাল নেটওয়ার্ক। এর অ্যাকুরেসি আগের মডেলের চেয়ে অনেক বেশি, কিন্তু আমরা এখনও আরও ভালো করতে পারি।

2b45072da65e20ae.png

এখন, cnn-resnet50 ধাপের লগগুলো দেখুন। এই ধাপে, আপনি প্রি-ট্রেইনড ResNet-50 মডেলে ট্রান্সফার লার্নিং ব্যবহার করেছেন। এর অ্যাকুরেসি অনেক বেশি। সুতরাং, এই কোডল্যাবের বাকি অংশের জন্য আপনি এই মডেলটিই ব্যবহার করবেন।

a1dc84ea48a87820.png

হাইপারপ্যারামিটার টিউনিং

আপনার Kubeflow UI-তে নোটবুক সার্ভারে ফিরে যান এবং dog-breed-katib.ipynb নামের নোটবুকটি খুলুন (এই পাথে রয়েছে data/kale/examples/dog-breed-classification/ )। এই নোটবুকে, আপনি Katib ব্যবহার করে ResNet-50 মডেলের উপর কিছু হাইপারপ্যারামিটার টিউনিং পরীক্ষা চালাবেন। লক্ষ্য করুন যে, প্যারামিটার ঘোষণা করার জন্য নোটবুকের শুরুতে একটি সেল রয়েছে:

87b9f6c98dc1823e.png

নোটবুকের বাম প্যানে, হাইপারপ্যারামিটার টিউনিং চালানোর জন্য 'HP Tuning with Katib' চালু করুন:

a518eba74d341139.png

এরপর কাতিব কনফিগার করতে 'সেট আপ কাতিব জব'- এ ক্লিক করুন:

f4e34fff6a93aa60.png

প্রতিটি প্যারামিটারের জন্য অনুসন্ধান ক্ষেত্র নির্ধারণ করুন এবং একটি লক্ষ্য স্থির করুন:

cfc6b7bcdc685a02.png

Compile and Run Katib Job বাটনে ক্লিক করুন:

f9c1ab0a6a3c5e8d.png

কাতিব পরীক্ষার অগ্রগতি দেখুন:

f3514011876564db.png

কাতিব পরীক্ষাটি দেখতে ভিউ- তে ক্লিক করুন:

ab2f5a5edd48e8dc.png

Kubeflow Pipelines (KFP)-এ রানগুলো দেখতে Done- এ ক্লিক করুন:

410a843b6f044a4b.png

কাতিব পরীক্ষা পৃষ্ঠায় আপনি নতুন পরীক্ষাগুলো দেখতে পাবেন:

a511dca519580133.png

এবং KFP UI-তে আপনি নতুন রানগুলো দেখতে পাবেন:

43dd34ee2b75018d.png

এইমাত্র কী ঘটল তা বিশ্লেষণ করা যাক। আগে, কেল (Kale) একটি নোটবুক থেকে একটি পাইপলাইন রান তৈরি করত এবং এখন এটি একাধিক পাইপলাইন রান তৈরি করছে, যেখানে প্রত্যেকটিতে ভিন্ন ভিন্ন আর্গুমেন্টের সংমিশ্রণ দেওয়া হচ্ছে।

কাটিব হলো কুবেফ্লো-এর একটি কম্পোনেন্ট যা সাধারণ হাইপারপ্যারামিটার টিউনিং জব চালানোর জন্য ব্যবহৃত হয়। কাটিব যে জবগুলো চালাচ্ছে (কাটিবের পরিভাষায় যেগুলোকে ট্রায়াল বলা হয়), সে সম্পর্কে এটি নিজে কিছুই জানে না। কেল শুধুমাত্র সার্চ স্পেস, অপটিমাইজেশন অ্যালগরিদম এবং লক্ষ্য সম্পর্কেই অবগত থাকে। কাটিব সাধারণ জব (অর্থাৎ, পড) ট্রায়াল হিসেবে চালানো সমর্থন করে, কিন্তু কেল একটি শিম প্রয়োগ করে যাতে ট্রায়ালগুলো কুবেফ্লো পাইপলাইনে পাইপলাইন চালাতে পারে এবং তারপর পাইপলাইন রানগুলো থেকে মেট্রিক্স সংগ্রহ করতে পারে।

যেহেতু কাতিব এক্সপেরিমেন্টটি ট্রায়াল তৈরি করছে, আপনি কাতিব UI-তে আরও ট্রায়াল দেখতে পাবেন:

3e854d3d4bb766c.png

এবং KFP UI-তে আরও রান:

ffd30dcefa739962.png

যখন কাতিব পরীক্ষাটি সম্পন্ন হবে, আপনি কাতিব UI-তে সমস্ত ট্রায়াল দেখতে পারবেন:

9096ae9caa77e42a.png

এবং KFP UI-তে সমস্ত রান:

7acc64dfee4f35a3.png

আপনি যদি নোটবুকে ফিরে যান, তাহলে কেল প্যানেলের ভিতরে কাতিব এক্সপেরিমেন্টের ঠিক পাশেই একটি তথ্য বাটন দেখতে পাবেন:

95b092180d71dc80.png

এতে ক্লিক করলে আপনি সেরা ফলাফল এবং যে প্যারামিটারগুলোর সাহায্যে তা তৈরি হয়েছে, তা দেখতে পাবেন:

3b0ce47e548e5afb.png

৬. পরিষ্কার করুন

MiniKF VM ধ্বংস করুন

GCP কনসোলে Deployment Manager- এ যান এবং minikf-on-gcp ডেপ্লয়মেন্টটি ডিলিট করুন।

৭. অভিনন্দন

অভিনন্দন, আপনি Kubeflow (MiniKF), Kale, এবং Rok ব্যবহার করে সফলভাবে একটি এন্ড-টু-এন্ড ডেটা সায়েন্স ওয়ার্কফ্লো সম্পন্ন করেছেন!

এরপর কী?

Kubeflow কমিউনিটিতে যোগদান করুন:

আরও পড়ুন