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

Keras-এ Python ব্যবহার করে লেয়ার গ্রাফ থেকে নোড বের করা এবং পুনর্ব্যবহার কীভাবে করা যায়?


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

এটি অত্যন্ত মাপযোগ্য (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-এর ওপর নির্মিত। Keras ব্যবহার করে লেয়ার গ্রাফ থেকে নোড বের করা এবং পুনর্ব্যবহার করার কোড স্নিপেট নিচে দেওয়া হলো:

উদাহরণ

print("VGG19 মডেল প্রি-ট্রেইন্ড ওজন সহ")
vgg19 = tf.keras.applications.VGG19()
features_list = [layer.output for layer in vgg19.layers]
feat_extraction_model = keras.Model(inputs=vgg19.input, outputs=features_list)
img = np.random.random((1, 224, 224, 3)).astype("float32")
print("ফিচার-এক্সট্র্যাকশন মডেল তৈরি করা হচ্ছে")
extracted_features = feat_extraction_model(img)

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

আউটপুট

VGG19 মডেল প্রি-ট্রেইন্ড ওজন সহ
Downloading data from https://storage.googleapis.com/tensorflow/kerasapplications/vgg19/vgg19_weights_tf_dim_ordering_tf_kernels.h5
574717952/574710816 [==============================] - 6s 0us/step
ফিচার-এক্সট্র্যাকশন মডেল তৈরি করা হচ্ছে

ব্যাখ্যা

  • যেহেতু লেয়ার গ্রাফ একটি স্ট্যাটিক ডেটা স্ট্রাকচার, তাই এটিকে অ্যাক্সেস করা যায়।

  • এই কারণে ফাংশনাল মডেলগুলো চিত্র হিসেবে প্লট করা যায়।

  • মধ্যবর্তী লেয়ারها (নোড) এর এক্টিভেশনগুলোও অ্যাক্সেস এবং পুনর্ব্যবহার করা যায়।

  • এটি ফিচার এক্সট্র্যাকশনের উদ্দেশ্যে খুব উপকারী।

  • আমরা ImageNet-এর সাহায্যে প্রি-ট্রেইন্ড ওজন বিশিষ্ট VGG19 মডেল ব্যবহার করব।

  • এই মধ্যবর্তী এক্টিভেশনগুলো গ্রাফ ডেটা স্ট্রাকচার কোয়েরি করে প্রাপ্ত করা যায়।

  • এই ফিচারগুলো একটি নতুন ফিচার-এক্সট্র্যাকশন মডেল তৈরি করতে ব্যবহৃত হয় যা মধ্যবর্তী লেয়ার এক্টিভেশনের মান রিটার্ন করে।


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

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

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

  4. Python-এ Keras ব্যবহার করে মডেলকে গ্রাফ হিসেবে প্লট করা এবং ইনপুট-আউটপুট শেপ প্রদর্শন করা