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

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

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

TensorFlow ইনস্টলেশন

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

pip install tensorflow

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

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

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

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

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

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

ইলিয়াড ডেটাসেট সম্পর্কে

আমরা ইলিয়াড ডেটাসেট ব্যবহার করব, যাতে উইলিয়াম কাওপার, এডوارد (ডারবির আর্ল) এবং স্যামুয়েল বटलারের তিনটি অনুবাদের কাজের টেক্সট ডেটা রয়েছে। মডেলটি একটি একক টেক্সট লাইন দেওয়া হলে অনুবাদকারীকে সনাক্ত করার জন্য প্রশিক্ষিত হয়। ব্যবহৃত টেক্সট ফাইলগুলি প্রি-প্রসেস করা হয়েছে। এতে ডকুমেন্ট হেডার এবং ফুটার, লাইন নম্বর এবং অধ্যায়ের শিরোনাম সরানো অন্তর্ভুক্ত।

Google Colaboratory ব্যবহার

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

উদাহরণ

নিচে কোড স্নিপেট দেওয়া হল:

train_data = all_encoded_data.skip(VALIDATION_SIZE).shuffle(BUFFER_SIZE)
validation_data = all_encoded_data.take(VALIDATION_SIZE)
train_data = train_data.padded_batch(BATCH_SIZE)
validation_data = validation_data.padded_batch(BATCH_SIZE)
sample_text, sample_labels = next(iter(validation_data))
print("The text batch shape is : ", sample_text.shape)
print("The label batch shape is : ", sample_labels.shape)
print("A text example is : ", sample_text[5])
print("A label example is: ", sample_labels[5])

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

আউটপুট

The text batch shape is : (64, 18)
The label batch shape is : (64,)
A text example is : tf.Tensor(
[ 20 391 2 11 144 787 2 3498 16 49 2 0 0 0 0 0 0 0], shape=(18,), dtype=int64)
A label example is: tf.Tensor(1, shape=(), dtype=int64)

ব্যাখ্যা

  • Keras TextVectorization লেয়ারটি ভেক্টরাইজড ডেটাকে গ্রুপ/ব্যাচ এবং প্যাডিং প্রদান করতে ব্যবহৃত হয়।

  • প্যাডিং প্রয়োজন কারণ একটি ব্যাচের ভিতরের উদাহরণগুলি একই আকার এবং আকৃতি হতে হবে, কিন্তু ডেটাসেটের উদাহরণগুলি একই আকার নাও হতে পারে।

  • প্রতিটি টেক্সট লাইনে শব্দের ভিন্ন সংখ্যা থাকতে পারে।

  • 'tf.data.Dataset' মেথড ডেটাসেট বিভক্ত এবং প্যাড-ব্যাচ করতে সাহায্য করে।

  • 'validation_data' এবং 'train_data' ব্যাচ ডেটার সংগ্রহ।

  • প্রতিটি ব্যাচ হল (অনেক উদাহরণ, অনেক লেবেল) যোড়া যা অ্যারে হিসেবে উপস্থাপিত।

  1. পাইথনে টেনসরফ্লো দিয়ে ফ্লাওয়ার ডেটাসেট ও মডেল ডিস্ক থেকে লোড করা

  2. পাইথনে টেনসরফ্লো ও প্রি-ট্রেনড মডেল দিয়ে ডেটা ভিজ্যুয়ালাইজ করা

  3. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে ডেটা স্ট্যান্ডার্ডাইজ (standardize) করতে ব্যবহৃত হয়?

  4. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে ডেটা ভিজুয়ালাইজ (visualize) করতে ব্যবহৃত হয়?