কম্পিউটার টিউটোরিয়াল

Python-এ Keras ব্যবহার করে মডেল সেভ এবং সিরিয়ালাইজ করা


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

'tensorflow' প্যাকেজটি উইন্ডোজে নিচের কমান্ড দিয়ে ইনস্টল করা যায়:

pip install tensorflow

Tensor হল TensorFlow-এ ব্যবহৃত একটি ডেটা স্ট্রাকচার। এটি ফ্লো ডায়াগ্রামের এজগুলো কানেক্ট করতে সাহায্য করে। এই ফ্লো ডায়াগ্রামকে 'Data flow graph' বলা হয়। টেনসরগুলো আর কিছু নয় বহু-মাত্রিক অ্যারে বা লিস্ট।

এগুলো তিনটি প্রধান অ্যাট্রিবিউট দিয়ে চেনা যায়:

  • র‍্যাঙ্ক (Rank) - এটি টেনসরটির ডাইমেনশনালিটি সম্পর্কে বলে। এটি টেনসরটির অর্ডার বা সংজ্ঞায়িত টেনসরটিতে কতগুলো ডাইমেনশন আছে তা বোঝাতে পারে।

  • টাইপ (Type) - এটি টেনসরটির এলিমেন্টগুলোর সাথে সম্পর্কিত ডেটা টাইপ বলে। এটি এক-মাত্রিক, দুই-মাত্রিক বা n-মাত্রিক টেনসর হতে পারে।

  • শেপ (Shape) - এটি রো এবং কলামের সংখ্যা মিলিত।

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

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

Keras ইতিমধ্যেই TensorFlow প্যাকেজের ভিতরে রয়েছে। নিচের কোড লাইন ব্যবহার করে এটিকে অ্যাক্সেস করা যায়:

import tensorflow
from tensorflow import keras

Keras ফাংশনাল API সিকোয়েনশিয়াল API-র তুলনায় আরও নমনীয় মডেল তৈরি করতে সাহায্য করে। ফাংশনাল API নন-লিনিয়ার টপোলজি वाले মডেল, শেয়ার করা লেয়ার, এবং একাধিক ইনপুট-আউটপুট নিয়ে কাজ করতে পারে। একটি গভীর শিক্ষার মডেল সাধারণত একটি ডায়RECTেড এসাইক্লিক গ্রাফ (DAG) যাতে একাধিক লেয়ার থাকে। ফাংশনাল API লেয়ার গ্রাফ তৈরি করতে সাহায্য করে।

নিচের কোড চালাতে আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারের ওপর পাইথন কোড চালাতে সাহায্য করে এবং শূন্য কনফিগারেশন এবং GPU-তে ফ্রি অ্যাক্সেস দেয়। Colaboratory Jupyter Notebook-এর ওপর নির্মিত। Keras ব্যবহার করে মডেল সেভ এবং সিরিয়ালাইজ করার কোড নিচে দেওয়া হলো:

উদাহরণ

print("মডেলটি ফাইলে সেভ করা হচ্ছে")
model.save("path_to_my_model")
print("মডেলটি ডিলিট করা হচ্ছে")
del model
print("সেভ করা মডেল থেকে মডেল পুনরায় তৈরি করা হচ্ছে")
model = keras.models.load_model("path_to_my_model")

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

আউটপুট

Save the model to a file
INFO:tensorflow:Assets written to: path_to_my_model/assets
Delete the model
Recreating the model from the saved model

ব্যাখ্যা

  • মডেলটি একটি ফাইলে সেভ করা হয়েছে।

  • এই মডেলটি ডিলিট করা হয়েছে যাতে এটি আবার ফাইলে সেভ করা মডেল থেকে পুনরায় তৈরি করা যায়।

  • এটি 'load_model' মেথড ব্যবহার করে পুনরায় তৈরি করা হয়েছে।


  1. Keras ব্যবহার করে পাইথনে ম্যানুয়ালি ওজন সংরক্ষণ করা

  2. Keras ব্যবহার করে পাইথনে কলব্যাক তৈরি ও ওজন সংরক্ষণ করা

  3. Python-এ Keras ব্যবহার করে মডেল প্লট কীভাবে করা যায়?

  4. Python-এ Keras ব্যবহার করে মডেলকে গ্রাফ হিসেবে প্লট করা এবং ইনপুট-আউটপুট শেপ প্রদর্শন করা