কম্পিউটার

পাইথন ব্যবহার করে মডেলের শুধুমাত্র একটি স্তর থেকে বৈশিষ্ট্যগুলি বের করতে কেরাস কীভাবে ব্যবহার করা যেতে পারে?


Tensorflow হল একটি মেশিন লার্নিং ফ্রেমওয়ার্ক যা Google প্রদান করে। এটি একটি ওপেন সোর্স ফ্রেমওয়ার্ক যা পাইথনের সাথে অ্যালগরিদম, গভীর শিক্ষার অ্যাপ্লিকেশন এবং আরও অনেক কিছু বাস্তবায়নের জন্য ব্যবহৃত হয়। এটি গবেষণা এবং উত্পাদন উদ্দেশ্যে ব্যবহৃত হয়। এটিতে অপ্টিমাইজেশন কৌশল রয়েছে যা জটিল গাণিতিক ক্রিয়াকলাপগুলি দ্রুত সম্পাদন করতে সহায়তা করে। কারণ এটি NumPy এবং বহুমাত্রিক অ্যারে ব্যবহার করে। এই বহুমাত্রিক অ্যারেগুলি 'টেনসর' নামেও পরিচিত। ফ্রেমওয়ার্ক গভীর নিউরাল নেটওয়ার্কের সাথে কাজ করতে সহায়তা করে।

'টেনসরফ্লো' প্যাকেজটি নীচের কোডের লাইন ব্যবহার করে উইন্ডোজে ইনস্টল করা যেতে পারে -

pip install tensorflow

টেনসর হল টেনসরফ্লোতে ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি একটি প্রবাহ চিত্রে প্রান্তগুলিকে সংযুক্ত করতে সহায়তা করে। এই ফ্লো ডায়াগ্রামটি 'ডেটা ফ্লো গ্রাফ' নামে পরিচিত। টেনসরগুলি একটি বহুমাত্রিক অ্যারে বা একটি তালিকা ছাড়া কিছুই নয়৷

কেরাস মানে গ্রীক ভাষায় 'শিং'। কেরাস ONEIROS (ওপেন-এন্ডেড নিউরো-ইলেক্ট্রনিক ইন্টেলিজেন্ট রোবট অপারেটিং সিস্টেম) প্রকল্পের গবেষণার অংশ হিসাবে তৈরি করা হয়েছিল। কেরাস একটি গভীর শিক্ষার API, যা পাইথনে লেখা। এটি একটি উচ্চ-স্তরের API যার একটি উত্পাদনশীল ইন্টারফেস রয়েছে যা মেশিন লার্নিং সমস্যা সমাধানে সহায়তা করে। এটি টেনসরফ্লো ফ্রেমওয়ার্কের উপরে চলে। এটি একটি দ্রুত পদ্ধতিতে পরীক্ষা সাহায্য করার জন্য নির্মিত হয়েছিল. এটি প্রয়োজনীয় বিমূর্ততা এবং বিল্ডিং ব্লকগুলি প্রদান করে যা মেশিন লার্নিং সমাধানগুলি বিকাশ এবং এনক্যাপসুলেট করার জন্য অপরিহার্য৷

এটি অত্যন্ত স্কেলযোগ্য এবং ক্রস-প্ল্যাটফর্ম ক্ষমতার সাথে আসে। এর মানে কেরাস টিপিইউ বা জিপিইউ এর ক্লাস্টারে চালানো যেতে পারে। কেরাস মডেলগুলি একটি ওয়েব ব্রাউজার বা মোবাইল ফোনেও চালানোর জন্য রপ্তানি করা যেতে পারে৷

কেরাস ইতিমধ্যেই টেনসরফ্লো প্যাকেজের মধ্যে উপস্থিত রয়েছে। এটি কোডের নীচের লাইন ব্যবহার করে অ্যাক্সেস করা যেতে পারে।

import tensorflow
from tensorflow import keras

আমরা নিচের কোডটি চালানোর জন্য Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে Python কোড চালাতে সাহায্য করে এবং এর জন্য শূন্য কনফিগারেশন এবং GPUs (গ্রাফিক্যাল প্রসেসিং ইউনিট) তে বিনামূল্যে অ্যাক্সেস প্রয়োজন। জুপিটার নোটবুকের উপরে কোলাবোরেটরি তৈরি করা হয়েছে। নিম্নলিখিত কোড স্নিপেট -

উদাহরণ

print("Feature extraction from one layer only")
initial_model = keras.Sequential(
   [
      keras.Input(shape=(250, 250, 3)),
      layers.Conv2D(32, 5, strides=2, activation="relu"),
      layers.Conv2D(32, 3, activation="relu", name="my_intermediate_layer"),
      layers.Conv2D(32, 3, activation="relu"),
   ]
)
print("Feature extraction from the model")
feature_extractor = keras.Model(
   inputs=initial_model.inputs,
   outputs=initial_model.get_layer(name="my_intermediate_layer").output,
)
print("The feature extractor method is called on test data")
x = tf.ones((1, 250, 250, 3))
features = feature_extractor(x)

কোড ক্রেডিট − https://www.tensorflow.org/guide/keras/sequential_model

আউটপুট

Feature extraction form one layer only 
Feature extraction form the model
The feature extractor method is called on test data

ব্যাখ্যা

  • মডেলের আর্কিটেকচার প্রস্তুত হয়ে গেলে, এটি প্রশিক্ষিত হয়।

  • প্রশিক্ষণ শেষ হলে, এটি মূল্যায়ন করা হয়।

  • এই মডেলটি ডিস্কে সংরক্ষিত হয়৷

  • প্রয়োজনে এটি পুনরুদ্ধার করা যেতে পারে৷

  • মডেলের প্রশিক্ষণের গতি বাড়ানোর জন্য একাধিক GPU ব্যবহার করা যেতে পারে।

  • একবার একটি মডেল তৈরি হয়ে গেলে, এটি একটি কার্যকরী API মডেলের মতো আচরণ করে৷

  • এটি নির্দেশ করে যে প্রতিটি স্তরের একটি ইনপুট এবং আউটপুট রয়েছে৷

  • এখানে, বৈশিষ্ট্যগুলি একটি একক স্তর থেকে স্পষ্টভাবে বের করা হয়েছে৷


  1. পাইথন ব্যবহার করে সংরক্ষিত মডেল থেকে একটি নতুন মডেল পুনরায় লোড করতে কেরাস কীভাবে ব্যবহার করা যেতে পারে?

  2. পাইথন ব্যবহার করে পুরো মডেলটিকে কীভাবে সংরক্ষণ করতে কেরাস ব্যবহার করা যেতে পারে?

  3. পাইথন ব্যবহার করে ম্যানুয়ালি ওজন সংরক্ষণ করতে কেরাস কীভাবে ব্যবহার করা যেতে পারে?

  4. পাইথন ব্যবহার করে মডেল প্লট করার জন্য কেরাস কীভাবে ব্যবহার করা যেতে পারে?