কম্পিউটার

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


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

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

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

ব্যবহার করে এটি অ্যাক্সেস করা যেতে পারে
import tensorflow
from tensorflow import keras

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

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

ব্যবহার করে লেয়ার শেয়ার করতে এমবেডিং লেয়ারের সাথে ব্যবহার করা কেরাস বাস্তবায়নের জন্য কোড স্নিপেট নিচে দেওয়া হল

উদাহরণ

print("Embedding for 2000 unique words mapped to 128-dimensional vectors")
shared_embedding = layers.Embedding(2000, 128)
print("Variable-length integer sequence")
text_input_a = keras.Input(shape=(None,), dtype="int32")
print("Variable-length integer sequence")
text_input_b = keras.Input(shape=(None,), dtype="int32")
print("Reuse the same layers to encode both the inputs")
encoded_input_a = shared_embedding(text_input_a)
encoded_input_b = shared_embedding(text_input_b)

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

আউটপুট

Embedding for 2000 unique words mapped to 128-dimensional vectors
Variable-length integer sequence
Variable-length integer sequence
Reuse the same layers to encode both the inputs

ব্যাখ্যা

  • কার্যকরী API মডেলগুলি ভাগ করা স্তরগুলি ব্যবহার করে৷

  • এই ভাগ করা স্তরগুলি এমন দৃষ্টান্ত যা একই মডেলে একাধিকবার পুনরায় ব্যবহার করা যেতে পারে৷

  • এই স্তরগুলি গ্রাফের একাধিক পাথের সাথে সম্পর্কিত বৈশিষ্ট্যগুলি শিখে৷

  • ভাগ করা স্তরগুলি পাঠ্যের দুটি ভিন্ন অংশ থেকে ইনপুটগুলিকে এনকোড করতেও ব্যবহৃত হয় যেখানে একই শব্দভাণ্ডার রয়েছে৷

  • এইভাবে, বিভিন্ন ইনপুট জুড়ে তথ্য ভাগ করা সম্ভব।

  • এই কারণে, মডেলটিকে কম পরিমাণ ডেটাতে প্রশিক্ষণ দেওয়া যেতে পারে।

  • 'এম্বেডিং' স্তরটি উপরের কোডে দুটি ভিন্ন পাঠ্য জুড়ে ভাগ করা হয়েছে৷


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

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

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

  4. পাইথন ব্যবহার করে স্তর তৈরি করতে Keras ফাংশনাল API কীভাবে ব্যবহার করা যেতে পারে তা আলোচনা করুন