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

পাইথন ব্যবহার করে TensorFlow-এর মাধ্যমে লিনিয়ার মডেল এবং কনভোল্যুশনাল মডেল কীভাবে তুলনা করা যায়?

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

TensorFlow ইনস্টলেশন

Windows-এ 'tensorflow' প্যাকেজটি নিচের কোড লাইন ব্যবহার করে ইনস্টল করা যেতে পারে:

pip install tensorflow

টেনসরের প্রধান বৈশিষ্ট্য

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

টেনসরها তিনটি প্রধান বৈশিষ্ট্য দ্বারা সনাক্ত করা যায়:

  • র‍্যাঙ্ক (Rank) - এটি টেনসরের মাত্রিকতা সম্পর্কে বলে। এটি টেনসরের ক্রম বা সংজ্ঞায়িত টেনসরে মাত্রার সংখ্যা হিসাবে বোঝা যেতে পারে।

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

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

Keras সম্পর্কে

Keras ONEIROS (Open ended Neuro-Electronic Intelligent Robot Operating System) প্রকল্পের গবেষণার অংশ হিসেবে विकশিত হয়েছিল। Keras একটি ডিপ লার্নিং API, যা পাইথনে লেখা। এটি একটি হাই-লেভেল API যার একটি প্রোডাক্টিভ ইন্টারফেস রয়েছে যা মেশিন লার্নিং সমস্যা সমাধান করতে সাহায্য করে। এটি TensorFlow ফ্রেমওয়ার্কের উপরে চলে। এটি দ্রুত পরীক্ষা-নিরীক্ষা করতে সাহায্য করার জন্য তৈরি করা হয়েছিল। এটি মেশিন লার্নিং সমাধান বিকাশ এবং ক্যাপসুলেট করার জন্য অপরিহার্য সচেতনতা এবং বিল্ডিং ব্লক প্রদান করে।

Google Colaboratory ব্যবহার

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

উদাহরণ

Following is the code snippet:
print("The two models are compared")
print("Linear model on binary vectorized data:")
print(binary_model.summary())
print("ConvNet model on int vectorized data:")
print(int_model.summary())

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

আউটপুট

The two models are compared
Linear model on binary vectorized data:
Model: "sequential"
_________________________________________________________________
Layer (type) Output Shape Param #
===============================================================
dense (Dense) (None, 4) 40004
===============================================================
Total params: 40,004
Trainable params: 40,004
Non-trainable params: 0
_________________________________________________________________
None
ConvNet model on int vectorized data:
Model: "sequential_1"
_________________________________________________________________
Layer (type) Output Shape Param #
===============================================================
embedding (Embedding) (None, None, 64) 640064
_________________________________________________________________
conv1d (Conv1D) (None, None, 64) 20544
_________________________________________________________________
global_max_pooling1d (Global (None, 64) 0
_________________________________________________________________
dense_1 (Dense) (None, 4) 260
===============================================================
Total params: 660,868
Trainable params: 660,868
Non-trainable params: 0
_________________________________________________________________
None

ব্যাখ্যা

  • ভেক্টরাইজড 'বাইনারি' মডেল এবং ভেক্টরাইজড 'ইন্ট' মডেল তুলনা করা হয়।

  • এই তুলনা 'summary' মেথড ব্যবহার করে কনসোলে প্রদর্শিত হয়।

  1. Keras ব্যবহার করে পাইথনে পুনরুদ্ধারকৃত মডেল মূল্যায়ন করা

  2. Keras ব্যবহার করে পাইথনে সম্পূর্ণ মডেল সংরক্ষণ করা

  3. TensorFlow ব্যবহার করে পাইথনে লিনিয়ার মডেল ট্রেন করা

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