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

Keras-এ মডেলের ট্রেনিং, ইভ্যালুয়েশন এবং ইনফারেন্স কীভাবে করা যায়?


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

'tensorflow' প্যাকেজটি উইন্ডোজে নিচের কমান্ড দিয়ে ইনস্টল করা যায়:

pip install tensorflow

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

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

Keras ইতিমধ্যেই TensorFlow প্যাকেজের ভিতরে রয়েছে। নিচের কোড লাইন ব্যবহার করে এটিকে অ্যাক্সেস করা যায়:

import tensorflow
from tensorflow import keras

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

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

উদাহরণ

print("MNIST ডেটা লোড করা হচ্ছে")
print("ডেটাকে ট্রেনিং এবং টেস্ট ডেটায় ভাগ করা হচ্ছে")
(x_train, y_train), (x_test, y_test) = keras.datasets.mnist.load_data()
print("বेहतर ট্রেনিং-এর জন্য ডেটা রিশেপ করা হচ্ছে")
x_train = x_train.reshape(60000, 784).astype("float32") / 255
x_test = x_test.reshape(10000, 784).astype("float32") / 255
print("মডেল কম্পাইল করা হচ্ছে")
model.compile(
    loss=keras.losses.SparseCategoricalCrossentropy(from_logits=True),
    optimizer=keras.optimizers.RMSprop(),
    metrics=["accuracy"],
)
print("ডেটাকে মডেলে ফিট করা হচ্ছে")
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("মডেলের সাথে জড়িত লস:", test_scores[0])
print("মডেলের সঠিকতা:", test_scores[1])

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

আউটপুট

MNIST ডেটা লোড করা হচ্ছে
ডেটাকে ট্রেনিং এবং টেস্ট ডেটায় ভাগ করা হচ্ছে
ডেটা রিশেপ করা হচ্ছে
মডেল কম্পাইল করা হচ্ছে
ডেটাকে মডেলে ফিট করা হচ্ছে
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
মডেলের সাথে জড়িত লস: 0.14328785240650177
মডেলের সঠিকতা: 0.9584000110626221

ব্যাখ্যা

  • ইনপুট ডেটা (MNIST ডেটা) এনভায়রনমেন্টে লোড করা হয়েছে।

  • ডেটা ট্রেনিং এবং টেস্ট সেটে ভাগ করা হয়েছে।

  • ডেটা রিশেপ করা হয়েছে যাতে এর সঠিকতা বাড়ে।

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

  • এটি ট্রেনিং ডেটার সাথে ফিট করা হয়েছে।

  • ট্রেনিং-এর সাথে জড়িত সঠিকতা এবং লস কনসোলে প্রদর্শন করা হয়েছে।


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

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

  3. Python প্রোগ্রামে Keras ব্যবহার করে মডেল প্লট কীভাবে করা যায়?

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