কম্পিউটার

পাইথনে নির্দিষ্ট সংখ্যক যুগের পরে মডেলের জন্য ওজন সংরক্ষণ করতে কেরাস কীভাবে ব্যবহার করা যেতে পারে?


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

এটিতে অপ্টিমাইজেশান কৌশল রয়েছে যা জটিল গাণিতিক ক্রিয়াকলাপগুলি দ্রুত সম্পাদন করতে সহায়তা করে৷

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

লাইনটি ব্যবহার করে উইন্ডোজে ইনস্টল করা যেতে পারে
pip install tensorflow

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

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

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

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

import tensorflow
from tensorflow import keras

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

নিম্নলিখিত কোড -

উদাহরণ

checkpoint_path = "training_2/cp−{epoch:04d}.ckpt"
checkpoint_dir = os.path.dirname(checkpoint_path)

batch_size = 32
print("Callback being created to save the model's weight after every 4 epoch")
cp_callback = tf.keras.callbacks.ModelCheckpoint(
   filepath=checkpoint_path,
   verbose=1,
   save_weights_only=True,
   save_freq=4*batch_size)

print("A new model instance is created")
model = create_model()
print("The weights are saved using 'checkpoint_path'")
model.save_weights(checkpoint_path.format(epoch=0))

কোড ক্রেডিট - https://www.tensorflow.org/tutorials/keras/save_and_load

আউটপুট

Callback being created to save the model's weight after every 4 epoch
A new model instance is created
The weight are saved using 'checkpoint_path'

ব্যাখ্যা

  • কলব্যাকের অনেকগুলি বিকল্প রয়েছে যেমন চেকপয়েন্টগুলির জন্য নাম দেওয়া, চেকপয়েন্টের ফ্রিকোয়েন্সি সামঞ্জস্য করা এবং আরও অনেক কিছু৷

  • নতুন মডেল প্রশিক্ষিত।

  • এই নতুন মডেলটি প্রতি 4টি যুগের পর প্রতিটি চেকপয়েন্টের জন্য একটি অনন্য নামের সাথে সংরক্ষিত হয়৷


  1. কিভাবে কেরাস একটি কলব্যাক তৈরি করতে এবং পাইথন ব্যবহার করে ওজন সংরক্ষণ করতে ব্যবহার করা যেতে পারে?

  2. কিভাবে Tensorflow MNIST ডেটাসেটের জন্য একটি মডেল সংজ্ঞায়িত করতে ব্যবহার করা যেতে পারে?

  3. MNIST ডেটাসেটের জন্য ওজন সংরক্ষণ এবং লোড করতে Tensorflow কীভাবে ব্যবহার করা যেতে পারে?

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