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

পাইথনে টেনসরফ্লো দিয়ে ব্যাচ ডাইমেনশন যোগ করে ইমেজ মডেলে পাস করা


টেনসরফ্লো দিয়ে ব্যাচ ডাইমেনশন যোগ করে ইমেজ মডেলে পাস করা যায় ইমেজকে নামপাই অ্যারে কনভার্ট করে।

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

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

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

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

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

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

উদাহরণ

grace_hopper = np.array(grace_hopper)/255.0
print("The dimensions of the image are")
print(grace_hopper.shape)
result = classifier.predict(grace_hopper[np.newaxis, ...])
print("The dimensions of the resultant image are")
print(result.shape)
predicted_class = np.argmax(result[0], axis=-1)
print("The predicted class is")
print(predicted_class)

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

আউটপুট

The dimensions of the image are
(224, 224, 3)
The dimensions of the resultant image are
(1, 1001)
The predicted class is
819

ব্যাখ্যা

  • একটি ব্যাচ ডাইমেনশন যোগ করা হয়।
  • ইমেজটি মডেলে পাস করা হয়।
  • ফলাফল ১০০১ এলিমেন্টের একটি ভেক্টর (logits)।
  • এটি ইমেজের প্রতিটি ক্লাসের প্রোবাবিলিটি রেট করে।
  1. টেনসরফ্লো (TensorFlow) কীভাবে পাইথনে মডেল ট্রেন (train) করতে ব্যবহৃত হয়?

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

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

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