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

পাইথনে টেনসরফ্লো দিয়ে ফ্লাওয়ার ডেটাসেট ও মডেল ডিস্ক থেকে লোড করা


টেনসরফ্লো দিয়ে ফ্লাওয়ার ডেটাসেট ও মডেল ডিস্ক থেকে লোড করা যায় 'image_dataset_from_directory' মেথড ব্যবহার করে।

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

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

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

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

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

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

উদাহরণ

print("The flower dataset")
data_root = tf.keras.utils.get_file(
    'flower_photos',
    'https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz',
    untar=True)
print("Load data into the model using images off disk with image_dataset_from_directory")
batch_size = 32
img_height = 224
img_width = 224
train_ds = tf.keras.preprocessing.image_dataset_from_directory(
    str(data_root),
    validation_split=0.2,
    subset="training",
    seed=123,
    image_size=(img_height, img_width),
    batch_size=batch_size)

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

আউটপুট

The flower dataset
Downloading data from https://storage.googleapis.com/download.tensorflow.org/example_images/flower_photos.tgz
228818944/228813984 [==============================] - 4s 0us/step
Load data into the model using images off disk with image_dataset_from_directory
Found 3670 files belonging to 5 classes.
Using 2936 files for training.

ব্যাখ্যা

  • যদি আলাদা ক্লাসের সাথে মডেল ট্রেন করতে হয়, TFHub থেকে একটি মডেল ব্যবহার করা যায়।
  • এটি মডেলের টপ লেয়ার রি-ট্রেন করে কাস্টম ইমেজ ক্লাসিফায়ার ট্রেন করতে সাহায্য করে।
  • এটি আমাদের ডেটাসেটের ক্লাসগুলো রিকগনাইজ করতে সাহায্য করে।
  • এখানে আইরিস (iris) ডেটাসেট ব্যবহার করা হয়েছে।
  • মডেলটি image_dataset_from_directory ব্যবহার করে ডিস্ক থেকে ইমেজ লোড করে ট্রেন করা হয়েছে।
  1. পাইথনে টেনসরফ্লো ও প্রি-ট্রেনড মডেল দিয়ে ডেটা ভিজ্যুয়ালাইজ করা

  2. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে মডেল ট্রেন (train) করতে ব্যবহৃত হয়?

  3. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে ডেটা ভিজুয়ালাইজ (visualize) করতে ব্যবহৃত হয়?

  4. টেনসরফ্লোতে ফ্লাওয়ার ডেটাসেট ভিজ্যুয়ালাইজ করা