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

পাইথনে টেনসরফ্লো দিয়ে প্রি-ট্রেনড মডেল ব্যবহার করে ফিচার এক্সট্রাক্ট করা


টেনসরফ্লো দিয়ে প্রি-ট্রেনড মডেল ব্যবহার করে ফিচার এক্সট্রাক্ট করা যায় একটি ফিচার এক্সট্রাক্টর মডেল দিয়ে, যা পূর্বে ডিফাইন করা হয়েছে এবং 'KerasLayer' মেথডে ব্যবহৃত হয়।

আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে কাজ করে নিউরাল নেটওয়ার্ক তৈরির জন্য?

কমপক্ষে একটি লেয়ার থাকা নিউরাল নেটওয়ার্ককে কনভোল্যুশনাল লেয়ার বলা হয়। আমরা কনভোল্যুশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে লার্নিং মডেল বানাতে পারি।

ইমেজ ক্লাসিফিকেশনের জন্য ট্রান্সফার লার্নিং-এর ভিত্তি হলো, যদি একটি মডেল বড় ও সাধারণ ডেটাসেটে ট্রেন করা হয়, তবে সেই মডেলটি ভিজ্যুয়াল ওয়ার্ল্ডের জন্য একটি জেনেরিক মডেল হিসেবে কার্যকরভাবে কাজ করতে পারে। এতে ফিচার ম্যাপগুলো শিখে নেয়া থাকবে, অর্থাৎ ইউজারকে বড় মডেল বড় ডেটাসেটে ট্রেন করে স্ক্র্যাচ থেকে শুরু করতে হবে না।

টেনসরফ্লো হাব হলো প্রি-ট্রেনড টেনসরফ্লো মডেলের একটি রিপোজিটরি। টেনসরফ্লো দিয়ে লার্নিং মডেল ফাইন-টিউন করা যায়।

আমরা বুঝব কীভাবে tf.keras সহ টেনসরফ্লো হাব থেকে মডেল ব্যবহার করতে হয়, একটি ইমেজ ক্লাসিফিকেশন মডেল ব্যবহার করতে হয়। একবার এটি হলে, ট্রান্সফার লার্নিং ব্যবহার করে কাস্টম ইমেজ ক্লাসের জন্য একটি মডেল ফাইন-টিউন করা যায়। এটি একটি প্রি-ট্রেনড ক্লাসিফায়ার মডেল ব্যবহার করে একটি ইমেজ लेकर সেটি কী তা প্রেডিক্ট করে। এটি কোনো ট্রেনিং ছাড়াই করা যায়।

নিচের কোড চালানোর জন্য আমরা গুগল কোলাবরেটরি ব্যবহার করছি। গুগল কোল্যাব বা কোলাবরেটরি ব্রাউজারের ওপর পাইথন কোড চালাতে সাহায্য করে এবং জিরো কনফিগারেশন ও ফ্রি জিপিইউ (GPU) অ্যাক্সেস দেয়। কোলাবরেটরি জুপিটার নোটবুকের ওপর বিল্ড করা হয়েছে।

উদাহরণ

print("Extracting features")
feature_extractor_model = "https://tfhub.dev/google/tf2-preview/mobilenet_v2/feature_vector/4"
feature_extractor_layer = hub.KerasLayer(
    feature_extractor_model, input_shape=(224, 224, 3), trainable=False)
feature_batch = feature_extractor_layer(image_batch)
print(feature_batch.shape)

কোড কרדিট: https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub

আউটপুট

Extracting features
(32, 1280)

ব্যাখ্যা

  • ফিচারগুলো এক্সট্রাক্ট করা হয়েছে।
  • 'feature_extractor_layer' ব্যবহার করে ডেটাসেটের ফিচারগুলো পাওয়া যায়।
  • ফিচারগুলোর ডাইমেনশন কনসোলে দেখানো হয়েছে।
  1. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে মডেল ট্রেন (train) করতে ব্যবহৃত হয়?

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

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

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