কম্পিউটার

মডেলের প্রশিক্ষণ, মূল্যায়ন এবং অনুমানে কেরাস কীভাবে ব্যবহার করা যেতে পারে?


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

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

লাইনটি ব্যবহার করে উইন্ডোজে ইনস্টল করা যেতে পারে
pip install tensorflow

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

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

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

import tensorflow
from tensorflow import keras

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

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

উদাহরণ

print("Load the MNIST data")
print("Split data into training and test data")
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
print("Reshape the data for better training")
x_train = x_train.reshape(60000, 784).astype("float32") / 255
x_test = x_test.reshape(10000, 784).astype("float32") / 255
print("Compile the model")
model.compile(
   loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
   optimizer=keras.optimizers.RMSprop(),
   metrics=["accuracy"],
)
print("Fit the data to the model")
history = model.fit(x_train, y_train, batch_size=64, epochs=2, validation_split=0.2)
test_scores = model.evaluate(x_test, y_test, verbose=2)
print("The loss associated with model:", test_scores[0])
print("The accuracy of the model:", test_scores[1])

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

আউটপুট

Load the MNIST data
Split data into training and test data
Reshape the data for better training
Compile the model
Fit the data to the model
Epoch 1/2
750/750 [==============================] - 3s 3ms/step - loss: 0.5768 - accuracy: 0.8394 -
val_loss: 0.2015 - val_accuracy: 0.9405
Epoch 2/2
750/750 [==============================] - 2s 3ms/step - loss: 0.1720 - accuracy: 0.9495 -
val_loss: 0.1462 - val_accuracy: 0.9580
313/313 - 0s - loss: 0.1433 - accuracy: 0.9584
The loss associated with model: 0.14328785240650177
The accuracy of the model: 0.9584000110626221

ব্যাখ্যা

  • ইনপুট ডেটা (MNIST ডেটা) পরিবেশে লোড হয়৷

  • ডেটা প্রশিক্ষণ এবং পরীক্ষার সেটে বিভক্ত।

  • ডেটাকে পুনরায় আকার দেওয়া হয়েছে যাতে এর নির্ভুলতা আরও ভাল হয়৷

  • মডেলটি তৈরি এবং কম্পাইল করা হয়েছে৷

  • এটি তখন প্রশিক্ষণের ডেটার সাথে মানানসই।

  • প্রশিক্ষণের সাথে সম্পর্কিত নির্ভুলতা এবং ক্ষতি কনসোলে প্রদর্শিত হয়।


  1. পাইথন ব্যবহার করে পুনরুদ্ধার করা মডেলটি মূল্যায়ন করতে কেরাস কীভাবে ব্যবহার করা যেতে পারে?

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

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

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