এআই প্ল্যাটফর্ম নোটবুকের প্রোটোটাইপিং মডেল

1. ওভারভিউ

এই ল্যাবটি আপনাকে AI প্ল্যাটফর্ম নোটবুকের বিভিন্ন টুলের মাধ্যমে আপনার ডেটা অন্বেষণ এবং ML মডেলের প্রোটোটাইপ করার জন্য নিয়ে যাবে।

আপনি কি শিখুন

আপনি কিভাবে শিখবেন:

  • একটি AI প্ল্যাটফর্ম নোটবুক উদাহরণ তৈরি এবং কাস্টমাইজ করুন
  • গিট দিয়ে আপনার নোটবুকের কোড ট্র্যাক করুন, সরাসরি এআই প্ল্যাটফর্ম নোটবুকের সাথে একত্রিত
  • আপনার নোটবুকের মধ্যে কী-ইফ টুলটি ব্যবহার করুন

Google ক্লাউডে এই ল্যাবটি চালানোর জন্য মোট খরচ প্রায় $1 । এআই প্ল্যাটফর্ম নোটবুকের মূল্য সম্পর্কে সম্পূর্ণ বিবরণ এখানে পাওয়া যাবে।

2. একটি AI প্ল্যাটফর্ম নোটবুক উদাহরণ তৈরি করুন৷

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

ধাপ 2: Compute Engine API সক্ষম করুন

কম্পিউট ইঞ্জিনে নেভিগেট করুন এবং সক্ষম নির্বাচন করুন যদি এটি ইতিমধ্যে সক্ষম না থাকে। আপনার নোটবুক উদাহরণ তৈরি করতে আপনার এটির প্রয়োজন হবে৷

ধাপ 3: একটি নোটবুক উদাহরণ তৈরি করুন

আপনার ক্লাউড কনসোলের AI প্ল্যাটফর্ম নোটবুক বিভাগে নেভিগেট করুন এবং New Instance-এ ক্লিক করুন। তারপর GPU ছাড়াই সর্বশেষ TensorFlow 2 Enterprise ইন্সট্যান্স টাইপ নির্বাচন করুন:

9f2bb4dec1ba4f4f.png

আপনার উদাহরণ একটি নাম দিন বা ডিফল্ট ব্যবহার করুন. তারপর আমরা কাস্টমাইজেশন বিকল্পগুলি অন্বেষণ করব৷ কাস্টমাইজ বোতামে ক্লিক করুন:

63be602ba45ca7c9.png

এআই প্ল্যাটফর্ম নোটবুকের অনেকগুলি ভিন্ন ভিন্ন কাস্টমাইজেশন বিকল্প রয়েছে, যার মধ্যে রয়েছে: আপনার উদাহরণ যে অঞ্চলে স্থাপন করা হয়েছে, ছবির ধরন, মেশিনের আকার, GPU-এর সংখ্যা এবং আরও অনেক কিছু। আমরা অঞ্চল এবং পরিবেশের জন্য ডিফল্ট ব্যবহার করব। মেশিন কনফিগারেশনের জন্য, আমরা একটি n1-স্ট্যান্ডার্ড-8 মেশিন ব্যবহার করব:

27101d232f765a17.png

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

একবার দৃষ্টান্ত তৈরি হয়ে গেলে আপনি নোটবুক UI-তে এটির পাশে একটি সবুজ চেকমার্ক দেখতে পাবেন। আপনার উদাহরণ খুলতে ও প্রোটোটাইপিং শুরু করতে ওপেন জুপিটারল্যাব নির্বাচন করুন:

3598f414887ea9a8.png

আপনি যখন উদাহরণ খুলবেন, কোডল্যাব নামে একটি নতুন ডিরেক্টরি তৈরি করুন। আমরা এই ল্যাব জুড়ে এই ডিরেক্টরি থেকে কাজ করব:

c16a821546acd92.png

আপনার নতুন তৈরি কোডল্যাব ডিরেক্টরিতে ডাবল-ক্লিক করে ক্লিক করুন এবং তারপর লঞ্চার থেকে পাইথন 3 নোটবুক নির্বাচন করুন:

4390b1614ae8eae4.png

নোটবুকের নাম পরিবর্তন করে demo.ipynb করুন, বা আপনি এটিকে যে নাম দিতে চান।

ধাপ 4: পাইথন প্যাকেজ আমদানি করুন

নোটবুকে একটি নতুন সেল তৈরি করুন এবং আমরা এই কোডল্যাবে যে লাইব্রেরিগুলি ব্যবহার করব তা আমদানি করুন:

import pandas as pd
import tensorflow as tf
from tensorflow.keras import Sequential
from tensorflow.keras.layers import Dense

import numpy as np
import json

from sklearn.model_selection import train_test_split
from sklearn.utils import shuffle
from google.cloud import bigquery
from witwidget.notebook.visualization import WitWidget, WitConfigBuilder

3. আপনার নোটবুকের সাথে BigQuery ডেটা সংযুক্ত করুন৷

BigQuery, Google ক্লাউডের বড় ডেটা গুদাম, আপনার অন্বেষণের জন্য অনেক ডেটাসেট সর্বজনীনভাবে উপলব্ধ করেছে৷ AI প্ল্যাটফর্ম নোটবুক প্রমাণীকরণের প্রয়োজন ছাড়াই BigQuery-এর সাথে সরাসরি ইন্টিগ্রেশন সমর্থন করে।

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

ধাপ 1: আমাদের নোটবুকে BigQuery ডেটা ডাউনলোড করুন

আমরা একটি পান্ডাস ডেটাফ্রেমে ডেটা ডাউনলোড করতে BigQuery-এর জন্য Python ক্লায়েন্ট লাইব্রেরি ব্যবহার করব। আসল ডেটাসেটটি 21GB এবং এতে 123M সারি রয়েছে। জিনিসগুলি সহজ রাখতে আমরা ডেটাসেট থেকে শুধুমাত্র 10,000 সারি ব্যবহার করব।

ক্যোয়ারীটি তৈরি করুন এবং নিম্নলিখিত কোড সহ ফলাফলের ডেটাফ্রেমের পূর্বরূপ দেখুন। এখানে আমরা শিশুর ওজন সহ মূল ডেটাসেট থেকে 4টি বৈশিষ্ট্য পাচ্ছি (যে জিনিসটি আমাদের মডেল ভবিষ্যদ্বাণী করবে)। ডেটাসেট অনেক বছর পিছনে চলে যায় কিন্তু এই মডেলের জন্য আমরা শুধুমাত্র 2000 এর পরের ডেটা ব্যবহার করব:

query="""
SELECT
  weight_pounds,
  is_male,
  mother_age,
  plurality,
  gestation_weeks
FROM
  publicdata.samples.natality
WHERE year > 2000
LIMIT 10000
"""
df = bigquery.Client().query(query).to_dataframe()
df.head()

আমাদের ডেটাসেটে সাংখ্যিক বৈশিষ্ট্যগুলির একটি সারাংশ পেতে, চালান:

df.describe()

এটি আমাদের সাংখ্যিক কলামগুলির গড়, মানক বিচ্যুতি, সর্বনিম্ন এবং অন্যান্য মেট্রিক্স দেখায়। পরিশেষে, আসুন আমাদের বুলিয়ান কলামে শিশুর লিঙ্গ নির্দেশ করে কিছু তথ্য পাই। আমরা Pandas value_counts পদ্ধতি দিয়ে এটি করতে পারি:

df['is_male'].value_counts()

লিঙ্গ অনুসারে ডেটাসেটটি প্রায় 50/50 ভারসাম্যপূর্ণ বলে মনে হচ্ছে৷

ধাপ 2: প্রশিক্ষণের জন্য ডেটাসেট প্রস্তুত করুন

এখন যেহেতু আমরা আমাদের নোটবুকে একটি পান্ডাস ডেটাফ্রেম হিসাবে ডেটাসেট ডাউনলোড করেছি, আমরা কিছু প্রাক-প্রসেসিং করতে পারি এবং এটিকে প্রশিক্ষণ এবং পরীক্ষার সেটে বিভক্ত করতে পারি।

প্রথমে, আসুন ডেটাসেট থেকে নাল মান সহ সারিগুলি ড্রপ করি এবং ডেটা শাফেল করি:

df = df.dropna()
df = shuffle(df, random_state=2)

এরপরে, লেবেল কলামটিকে একটি পৃথক ভেরিয়েবলে বের করুন এবং শুধুমাত্র আমাদের বৈশিষ্ট্য সহ একটি ডেটাফ্রেম তৈরি করুন। যেহেতু is_male একটি বুলিয়ান, আমরা এটিকে একটি পূর্ণসংখ্যাতে রূপান্তর করব যাতে আমাদের মডেলের সমস্ত ইনপুট সাংখ্যিক হয়:

labels = df['weight_pounds']
data = df.drop(columns=['weight_pounds'])
data['is_male'] = data['is_male'].astype(int)

এখন আপনি যদি data.head() চালিয়ে আমাদের ডেটাসেটের পূর্বরূপ দেখেন, তাহলে আপনি চারটি বৈশিষ্ট্য দেখতে পাবেন যা আমরা প্রশিক্ষণের জন্য ব্যবহার করব।

4. গিট শুরু করুন

এআই প্ল্যাটফর্ম নোটবুকগুলির গিটের সাথে একটি সরাসরি সংহতকরণ রয়েছে, যাতে আপনি আপনার নোটবুকের পরিবেশে সরাসরি সংস্করণ নিয়ন্ত্রণ করতে পারেন। এটি নোটবুক UI-তে বা JupyterLab-এ উপলব্ধ টার্মিনালের মাধ্যমে কোড কমিট করা সমর্থন করে। এই বিভাগে আমরা আমাদের নোটবুকে একটি গিট সংগ্রহস্থল শুরু করব এবং UI এর মাধ্যমে আমাদের প্রথম প্রতিশ্রুতি করব।

ধাপ 1: একটি গিট সংগ্রহস্থল শুরু করুন

আপনার কোডল্যাব ডিরেক্টরি থেকে, জুপিটারল্যাবের শীর্ষ মেনু বার থেকে গিট এবং তারপরে ইনিট নির্বাচন করুন:

d9f1729358f18e58.png

যখন এটি জিজ্ঞাসা করে যে আপনি এই ডিরেক্টরিটিকে একটি গিট রেপো বানাতে চান, হ্যাঁ নির্বাচন করুন। তারপরে আপনার ফাইল এবং প্রতিশ্রুতিগুলির অবস্থা দেখতে বাম সাইডবারে গিট আইকনটি নির্বাচন করুন:

1648d6828f11a6db.png

ধাপ 2: আপনার প্রথম প্রতিশ্রুতি করুন

এই UI-তে, আপনি একটি প্রতিশ্রুতিতে ফাইলগুলি যোগ করতে পারেন, ফাইলের পার্থক্যগুলি দেখতে পারেন (আমরা পরে এটিতে যাব), এবং আপনার পরিবর্তনগুলি করতে পারেন৷ আসুন আমরা এইমাত্র যোগ করা নোটবুক ফাইলটি কমিট করে শুরু করি।

আপনার demo.ipynb নোটবুক ফাইলের পাশের বাক্সে টিক চিহ্ন দিন যাতে এটি প্রতিশ্রুতির জন্য স্টেজ হয় (আপনি .ipynb_checkpoints/ ডিরেক্টরি উপেক্ষা করতে পারেন)। পাঠ্য বাক্সে একটি প্রতিশ্রুতি বার্তা লিখুন এবং তারপরে আপনার পরিবর্তনগুলি করতে চেক মার্কে ক্লিক করুন:

fe7366522a3a268f.png

অনুরোধ করা হলে আপনার নাম এবং ইমেল লিখুন। তারপর আপনার প্রথম প্রতিশ্রুতি দেখতে ইতিহাস ট্যাবে ফিরে যান:

d03567c3592afb77.png

মনে রাখবেন যে এই ল্যাব প্রকাশিত হওয়ার পর থেকে আপডেটের কারণে স্ক্রিনশটগুলি আপনার UI এর সাথে ঠিক মেলে নাও হতে পারে৷

5. একটি টেনসরফ্লো মডেল তৈরি এবং প্রশিক্ষণ দিন

আমরা আমাদের নোটবুকে ডাউনলোড করা BigQuery ন্যাটালিটি ডেটাসেট ব্যবহার করব এমন একটি মডেল তৈরি করতে যা শিশুর ওজনের পূর্বাভাস দেয়। এই ল্যাবে আমরা মডেলের নির্ভুলতার পরিবর্তে নোটবুক টুলিংয়ের উপর ফোকাস করব।

ধাপ 1: ট্রেন এবং পরীক্ষা সেটে আপনার ডেটা বিভক্ত করুন

আমরা আমাদের মডেল তৈরি করার আগে আমাদের ডেটা বিভক্ত করতে Scikit Learn train_test_split ইউটিলিটি ব্যবহার করব:

x,y = data,labels
x_train,x_test,y_train,y_test = train_test_split(x,y)

এখন আমরা আমাদের টেনসরফ্লো মডেল তৈরি করতে প্রস্তুত!

ধাপ 2: TensorFlow মডেল তৈরি এবং প্রশিক্ষণ

আমরা tf.keras Sequential মডেল API ব্যবহার করে এই মডেলটি তৈরি করব, যা আমাদের মডেলটিকে স্তরগুলির স্ট্যাক হিসাবে সংজ্ঞায়িত করতে দেয়। আমাদের মডেল তৈরি করার জন্য আমাদের প্রয়োজনীয় সমস্ত কোড এখানে রয়েছে:

model = Sequential([
    Dense(64, activation='relu', input_shape=(len(x_train.iloc[0]),)),
    Dense(32, activation='relu'),
    Dense(1)]
)

তারপর আমরা আমাদের মডেল কম্পাইল করব যাতে আমরা এটি প্রশিক্ষণ দিতে পারি। এখানে আমরা মডেলের অপ্টিমাইজার, লস ফাংশন এবং মেট্রিক্স বেছে নেব যা আমরা মডেলটি প্রশিক্ষণের সময় লগ করতে চাই। যেহেতু এটি একটি রিগ্রেশন মডেল (একটি সংখ্যাসূচক মানের পূর্বাভাস), আমরা আমাদের মেট্রিক হিসাবে নির্ভুলতার পরিবর্তে গড় বর্গক্ষেত্র ত্রুটি ব্যবহার করছি:

model.compile(optimizer=tf.keras.optimizers.RMSprop(),
              loss=tf.keras.losses.MeanSquaredError(),
              metrics=['mae', 'mse'])

আপনি কেরাসের সহজ model.summary() ফাংশনটি ব্যবহার করতে পারেন প্রতিটি স্তরে আপনার মডেলের প্রশিক্ষণযোগ্য প্যারামিটারের আকার এবং সংখ্যা দেখতে।

এখন আমরা আমাদের মডেল প্রশিক্ষণের জন্য প্রস্তুত. আমাদের যা করতে হবে তা হল fit() পদ্ধতিকে কল করতে হবে, এটি আমাদের প্রশিক্ষণের ডেটা এবং লেবেলগুলি পাস করে। এখানে আমরা ঐচ্ছিক validation_split প্যারামিটারটি ব্যবহার করব, যা প্রতিটি ধাপে মডেলটিকে যাচাই করতে আমাদের প্রশিক্ষণ ডেটার একটি অংশ ধারণ করবে। আদর্শভাবে আপনি প্রশিক্ষণ এবং বৈধতা হ্রাস উভয়ই দেখতে চান। কিন্তু মনে রাখবেন যে এই উদাহরণে আমরা মডেলের গুণমানের চেয়ে মডেল এবং নোটবুক টুলিংয়ের উপর বেশি মনোযোগ দিচ্ছি:

model.fit(x_train, y_train, epochs=10, validation_split=0.1)

ধাপ 3: পরীক্ষার উদাহরণের উপর ভবিষ্যদ্বাণী তৈরি করুন

আমাদের মডেলটি কীভাবে পারফর্ম করছে তা দেখতে, আসুন আমাদের পরীক্ষার ডেটাসেট থেকে প্রথম 10টি উদাহরণে কিছু পরীক্ষার পূর্বাভাস তৈরি করি।

num_examples = 10
predictions = model.predict(x_test[:num_examples])

এবং তারপরে আমরা আমাদের মডেলের ভবিষ্যদ্বাণীগুলিকে বাস্তব মানের সাথে তুলনা করে পুনরাবৃত্তি করব:

for i in range(num_examples):
    print('Predicted val: ', predictions[i][0])
    print('Actual val: ',y_test.iloc[i])
    print()

ধাপ 4: গিট ডিফ ব্যবহার করুন এবং আপনার পরিবর্তনগুলি কমিট করুন

এখন আপনি নোটবুকে কিছু পরিবর্তন করেছেন, আপনি নোটবুক গিট UI-তে উপলব্ধ গিট ডিফ বৈশিষ্ট্যটি ব্যবহার করে দেখতে পারেন। demo.ipynb নোটবুকটি এখন UI-তে "পরিবর্তিত" বিভাগের অধীনে থাকা উচিত। ফাইলের নামের উপর হোভার করুন এবং ডিফ আইকনে ক্লিক করুন:

a370facb3632fb32.png

এর সাথে আপনি আপনার পরিবর্তনগুলির একটি পার্থক্য দেখতে সক্ষম হবেন, যেমন:

461c502bd3ab910e.png

এইবার আমরা টার্মিনাল ব্যবহার করে কমান্ড লাইনের মাধ্যমে আমাদের পরিবর্তনগুলি কমিট করব। JupyterLab শীর্ষ মেনু বারে গিট মেনু থেকে, টার্মিনালে গিট কমান্ড নির্বাচন করুন। আপনি নীচের কমান্ডগুলি চালানোর সময় আপনার বাম সাইডবারের গিট ট্যাবটি খোলা থাকলে, আপনি আপনার পরিবর্তনগুলি গিট UI-তে প্রতিফলিত দেখতে সক্ষম হবেন।

আপনার নতুন টার্মিনাল ইনস্ট্যান্সে, কমিটের জন্য আপনার নোটবুক ফাইল স্টেজ করার জন্য নিম্নলিখিতটি চালান:

git add demo.ipynb

এবং তারপরে আপনার পরিবর্তনগুলি কমিট করার জন্য নিম্নলিখিতটি চালান (আপনি যা চান তা কমিট বার্তা ব্যবহার করতে পারেন):

git commit -m "Build and train TF model"

তারপরে আপনার ইতিহাসে আপনার সর্বশেষ প্রতিশ্রুতি দেখতে হবে:

a4b44045e97cb7a7.png

6. আপনার নোটবুক থেকে সরাসরি What-If টুলটি ব্যবহার করুন

What-If টুল হল একটি ইন্টারেক্টিভ ভিজ্যুয়াল ইন্টারফেস যা আপনাকে আপনার ডেটাসেটগুলিকে কল্পনা করতে এবং আপনার ML মডেলগুলির আউটপুট আরও ভালভাবে বুঝতে সাহায্য করার জন্য ডিজাইন করা হয়েছে৷ এটি একটি ওপেন সোর্স টুল যা Google এ PAIR টিম দ্বারা তৈরি করা হয়েছে। যদিও এটি যেকোনো ধরনের মডেলের সাথে কাজ করে, এতে কিছু বৈশিষ্ট্য রয়েছে যা একচেটিয়াভাবে ক্লাউড এআই প্ল্যাটফর্মের জন্য তৈরি করা হয়েছে।

ক্লাউড এআই প্ল্যাটফর্ম নোটবুক ইনস্ট্যান্সে টেনসরফ্লো সহ কি-ইফ টুলটি আগে থেকেই ইনস্টল করা আছে। এখানে আমরা এটি ব্যবহার করব কিভাবে আমাদের মডেল সামগ্রিকভাবে পারফর্ম করছে এবং আমাদের টেস্ট সেট থেকে ডেটা পয়েন্টে এর আচরণ পরিদর্শন করব।

ধাপ 1: What-If টুলের জন্য ডেটা প্রস্তুত করুন

What-If টুলের সর্বোচ্চ ব্যবহার করতে, আমরা এটিকে আমাদের পরীক্ষার সেট থেকে উদাহরণ পাঠাব এবং সেই উদাহরণগুলির জন্য গ্রাউন্ড ট্রুথ লেবেলগুলি পাঠাব ( y_test )। এইভাবে আমরা স্থল সত্যের সাথে আমাদের মডেলের ভবিষ্যদ্বাণীর তুলনা করতে পারি। আমাদের পরীক্ষার উদাহরণ এবং তাদের লেবেল সহ একটি নতুন ডেটাফ্রেম তৈরি করতে নীচের কোডের লাইনটি চালান:

wit_data = pd.concat([x_test, y_test], axis=1)

এই ল্যাবে, আমরা আমাদের নোটবুকে যে মডেলটি প্রশিক্ষণ দিয়েছি তার সাথে আমরা What-If টুলটিকে সংযুক্ত করব। এটি করার জন্য, আমাদের একটি ফাংশন লিখতে হবে যা টুলটি আমাদের মডেলে এই টেস্ট ডেটা পয়েন্টগুলি চালানোর জন্য ব্যবহার করবে:

def custom_predict(examples_to_infer):
    preds = model.predict(examples_to_infer)
    return preds

ধাপ 2: কী-ইফ টুলটি ইনস্ট্যান্টিয়েট করুন

আমরা এইমাত্র তৈরি করা টেস্ট ডেটাসেট + গ্রাউন্ড ট্রুথ লেবেল থেকে 500টি উদাহরণ পাস করে What-If টুলটিকে ইনস্ট্যান্টিয়েট করব। আমরা টুল সেট আপ করতে WitConfigBuilder এর একটি উদাহরণ তৈরি করি, এটিকে আমাদের ডেটা পাস করি, কাস্টম ভবিষ্যদ্বাণী ফাংশনটি আমরা উপরে সংজ্ঞায়িত করেছি, আমাদের লক্ষ্য সহ (যে জিনিসটি আমরা ভবিষ্যদ্বাণী করছি), এবং মডেলের ধরন:

config_builder = (WitConfigBuilder(wit_data[:500].values.tolist(), data.columns.tolist() + ['weight_pounds'])
  .set_custom_predict_fn(custom_predict)
  .set_target_feature('weight_pounds')
  .set_model_type('regression'))
WitWidget(config_builder, height=800)

What-If টুল লোড হলে আপনার এরকম কিছু দেখতে হবে:

fcdc1cb7ed8e364e.png

x-অক্ষে, আপনি মডেলের ভবিষ্যদ্বাণীকৃত ওজন মান, weight_pounds দ্বারা বিস্তৃত আপনার পরীক্ষার ডেটা পয়েন্টগুলি দেখতে পাবেন।

ধাপ 3: What-If টুলের সাহায্যে মডেল আচরণ অন্বেষণ করুন

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

2ba944f16240ff4b.png

বাম দিকে আপনি আপনার নির্বাচিত ডেটা পয়েন্টের বৈশিষ্ট্য মানগুলি দেখতে পাবেন। আপনি সেই ডেটা পয়েন্টের গ্রাউন্ড ট্রুথ লেবেলের সাথে মডেলের পূর্বাভাসিত মানের সাথে তুলনা করতে পারেন। বাম সাইডবারে, আপনি বৈশিষ্ট্য মান পরিবর্তন করতে পারেন এবং আপনার মডেলে এই পরিবর্তনের প্রভাব দেখতে মডেল পূর্বাভাস পুনরায় চালাতে পারেন৷ উদাহরণস্বরূপ, আমরা এই ডেটা পয়েন্টের জন্য gestation_weeks পরিবর্তন করে 30 করতে পারি এটিতে ডাবল ক্লিক করে একটি পুনরায় চালানোর পূর্বাভাস:

aaa6a937c66758cf.png

What-If টুলের প্লট বিভাগে ড্রপডাউন মেনু ব্যবহার করে, আপনি সব ধরনের কাস্টম ভিজ্যুয়ালাইজেশন তৈরি করতে পারেন। উদাহরণস্বরূপ, এখানে x-অক্ষে মডেলের ভবিষ্যদ্বাণীকৃত ওজন, y-অক্ষে মায়ের বয়স এবং তাদের অনুমান ত্রুটি দ্বারা রঙিন বিন্দু সহ একটি চার্ট রয়েছে (গাঢ় মানে পূর্বাভাসিত এবং প্রকৃত ওজনের মধ্যে উচ্চতর পার্থক্য)। এখানে দেখে মনে হচ্ছে ওজন কমার সাথে সাথে মডেলের ত্রুটি কিছুটা বেড়ে যায়:

cd2ce527a9044e7b.png

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

1fec2a64fb03f432.png

হোয়াট-ইফ টুলের সাথে আরও অন্বেষণের ধারণার জন্য, এই বিভাগের শুরুতে লিঙ্কগুলি দেখুন।

7. ঐচ্ছিক: GitHub-এ আপনার স্থানীয় গিট রেপো সংযোগ করুন

অবশেষে, আমরা শিখব কীভাবে আমাদের নোটবুকের গিট রেপোকে আমাদের গিটহাব অ্যাকাউন্টের একটি রেপোতে সংযুক্ত করতে হয়। আপনি যদি এই পদক্ষেপটি করতে চান তবে আপনার একটি GitHub অ্যাকাউন্টের প্রয়োজন হবে৷

ধাপ 1: GitHub-এ একটি নতুন রেপো তৈরি করুন

আপনার GitHub অ্যাকাউন্টে, একটি নতুন সংগ্রহস্থল তৈরি করুন। এটিকে একটি নাম এবং একটি বিবরণ দিন, আপনি এটিকে সর্বজনীন করতে চান কিনা তা স্থির করুন এবং সংগ্রহস্থল তৈরি করুন নির্বাচন করুন (আপনাকে README দিয়ে আরম্ভ করার প্রয়োজন নেই)৷ পরবর্তী পৃষ্ঠায়, আপনি কমান্ড লাইন থেকে একটি বিদ্যমান সংগ্রহস্থল পুশ করার জন্য নির্দেশাবলী অনুসরণ করবেন।

একটি টার্মিনাল উইন্ডো খুলুন, এবং রিমোট হিসাবে আপনার নতুন সংগ্রহস্থল যোগ করুন। নিচের রেপো ইউআরএল-এ আপনার GitHub ইউজারনেম দিয়ে username প্রতিস্থাপন করুন, এবং your-repo নামটি আপনার তৈরি করা নামের সাথে প্রতিস্থাপন করুন:

git remote add origin git@github.com:username/your-repo.git

ধাপ 2: আপনার নোটবুকের উদাহরণে GitHub-এ প্রমাণীকরণ করুন

পরবর্তীতে আপনাকে আপনার নোটবুক উদাহরণের মধ্যে থেকে গিটহাবে প্রমাণীকরণ করতে হবে। GitHub-এ আপনার দ্বি-ফ্যাক্টর প্রমাণীকরণ সক্ষম আছে কিনা তার উপর নির্ভর করে এই প্রক্রিয়াটি পরিবর্তিত হয়।

আপনি কোথা থেকে শুরু করবেন তা নিশ্চিত না হলে, একটি SSH কী তৈরি করতে GitHub ডকুমেন্টেশনের ধাপগুলি অনুসরণ করুন এবং তারপর GitHub-এ নতুন কী যোগ করুন

ধাপ 3: নিশ্চিত করুন যে আপনি সঠিকভাবে আপনার GitHub রেপো লিঙ্ক করেছেন

আপনি জিনিসগুলি সঠিকভাবে সেট আপ করেছেন তা নিশ্চিত করতে, আপনার টার্মিনালে git remote -v চালান। আপনি আপনার নতুন সংগ্রহস্থল একটি দূরবর্তী হিসাবে তালিকাভুক্ত দেখতে হবে. একবার আপনি আপনার GitHub রেপোর URL দেখতে পেলে এবং আপনি আপনার নোটবুক থেকে GitHub-এ প্রমাণীকরণ করলে, আপনি আপনার নোটবুক উদাহরণ থেকে সরাসরি GitHub-এ পুশ করতে প্রস্তুত।

আপনার নতুন তৈরি গিটহাব রেপোর সাথে আপনার স্থানীয় নোটবুক গিট রেপো সিঙ্ক করতে, গিট সাইডবারের শীর্ষে ক্লাউড আপলোড বোতামটি ক্লিক করুন:

eec001587bb9cfb1.png

আপনার GitHub সংগ্রহস্থল রিফ্রেশ করুন, এবং আপনি আপনার পূর্ববর্তী প্রতিশ্রুতি সহ আপনার নোটবুক কোড দেখতে হবে! যদি অন্যদের আপনার GitHub রেপোতে অ্যাক্সেস থাকে এবং আপনি আপনার নোটবুকের সর্বশেষ পরিবর্তনগুলি নামাতে চান তবে সেই পরিবর্তনগুলি সিঙ্ক করতে ক্লাউড ডাউনলোড আইকনে ক্লিক করুন৷

নোটবুক গিট ইউআই-এর ইতিহাস ট্যাবে, আপনি দেখতে পারেন আপনার স্থানীয় প্রতিশ্রুতিগুলি গিটহাবের সাথে সিঙ্ক করা হয়েছে কিনা। এই উদাহরণে, origin/master গিটহাবের আমাদের রেপোর সাথে মিলে যায়:

2c3d1eb7cf95c24e.png

যখনই আপনি নতুন প্রতিশ্রুতি করবেন, আপনার GitHub রেপোতে সেই পরিবর্তনগুলি পুশ করতে আবার ক্লাউড আপলোড বোতামে ক্লিক করুন।

8. অভিনন্দন!

আপনি এই ল্যাবে অনেক কিছু করেছেন 👏👏👏

রিক্যাপ করতে, আপনি শিখেছেন কিভাবে:

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

9. পরিচ্ছন্নতা

আপনি যদি এই নোটবুকটি ব্যবহার চালিয়ে যেতে চান তবে এটি ব্যবহার না করার সময় এটি বন্ধ করার পরামর্শ দেওয়া হয়। আপনার ক্লাউড কনসোলের নোটবুক UI থেকে, নোটবুকটি নির্বাচন করুন এবং তারপরে থামুন নির্বাচন করুন:

ba727f9a0aefbc30.png

আপনি যদি এই ল্যাবে আপনার তৈরি করা সমস্ত সংস্থান মুছে ফেলতে চান তবে নোটবুকের উদাহরণটি বন্ধ করার পরিবর্তে কেবল মুছুন৷

আপনার ক্লাউড কনসোলে নেভিগেশন মেনু ব্যবহার করে, সঞ্চয়স্থানে ব্রাউজ করুন এবং আপনার মডেল সম্পদগুলি সঞ্চয় করতে আপনার তৈরি করা উভয় বালতি মুছে দিন।