কম্পিউটার

পাইথনে কেরাস ব্যবহার করে একটি মডেল তৈরি করার সময় একটি সাধারণ ডিবাগিং ওয়ার্কফ্লো কী?


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

কারণ এটি NumPy এবং বহুমাত্রিক অ্যারে ব্যবহার করে। এই মাল্টি-ডাইমেনশনাল অ্যারেগুলি 'টেনসর' নামেও পরিচিত।

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

pip install tensorflow

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

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

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

import tensorflow
from tensorflow import keras

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

উদাহরণ

print("Creating a sequential model")
model = keras.Sequential()
print("Adding layers to it")
model.add(keras.Input(shape=(250, 250, 3))) # 250x250 RGB images
model.add(layers.Conv2D(32, 5, strides=2, activation="relu"))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.MaxPooling2D(3))
print("Data about the layers in the model")
model.summary()
print("Adding more layers to the model")
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.MaxPooling2D(3))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.Conv2D(32, 3, activation="relu"))
model.add(layers.MaxPooling2D(2))
print("Data about the layers in the model")
model.summary()
print("Applying golval max pooling")
model.add(layers.GlobalMaxPooling2D())
print("Adding a classification layer to the model")
model.add(layers.Dense(10))

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

আউটপুট

পাইথনে কেরাস ব্যবহার করে একটি মডেল তৈরি করার সময় একটি সাধারণ ডিবাগিং ওয়ার্কফ্লো কী?

ব্যাখ্যা

  • যখন একটি ক্রমিক আর্কিটেকচার তৈরি করা হচ্ছে, তখন এটিকে ক্রমবর্ধমানভাবে স্তরগুলিকে স্ট্যাক করার পরামর্শ দেওয়া হয়৷

  • এটি 'অ্যাড' ফাংশন ব্যবহার করে করা যেতে পারে।

  • এটি প্রায়শই 'সারাংশ' পদ্ধতি ব্যবহার করে মডেল সম্পর্কে আরও তথ্য মুদ্রণ করবে।

  • এটি 'Conv2D' এবং 'MaxPooling2D'-এর স্ট্যাক কীভাবে নিচের-নমুনা চিত্র বৈশিষ্ট্য মানচিত্রগুলিকে নিরীক্ষণ করতে সহায়তা করে৷


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

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

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

  4. পাইথনে কেরাস ব্যবহার করে একটি মডেল তৈরি করার সময় একটি সাধারণ ডিবাগিং ওয়ার্কফ্লো কী?