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

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


টেনসরফ্লো ও প্রি-ট্রেনড মডেল দিয়ে ডেটা ভিজ্যুয়ালাইজ করা যায় 'matplotlib' লাইব্রেরি ব্যবহার করে। 'plot' মেথড ব্যবহার করে ডেটা কনসোলে প্লট করা হয়।

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

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

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

আরও পড়ুন: কীভাবে একটি কাস্টমাইজড মডেল প্রি-ট্রেন করা যায়?

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

উদাহরণ

print("Visualizing the data")
plt.figure(figsize=(8, 8))
plt.subplot(2, 1, 1)
plt.plot(acc, label='Training Accuracy')
plt.plot(val_acc, label='Validation Accuracy')
plt.ylim([0.8, 1])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='lower right')
plt.title('Training and Validation Accuracy')
plt.subplot(2, 1, 2)
plt.plot(loss, label='Training Loss')
plt.plot(val_loss, label='Validation Loss')
plt.ylim([0, 1.0])
plt.plot([initial_epochs-1,initial_epochs-1], plt.ylim(), label='Start Fine Tuning')
plt.legend(loc='upper right')
plt.title('Training and Validation Loss')
plt.xlabel('epoch')
plt.show()

কোড কردিট: https://www.tensorflow.org/tutorials/images/transfer_learning

আউটপুট

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

ব্যাখ্যা

  • ফাইন-টিউনিং করার পর ট্রেনিং ও ভ্যালিডেশন একুরেসি/লসের লার্নিং কರ್ಭ ভিজ্যুয়ালাইজ করা হয়।

  • ভ্যালিডেশন লস ট্রেনিং লসের চেয়ে বেশি, অর্থাৎ কিছু ওভারফিটিং (overfitting) আছে।

  • এই ওভারফিটিং হতে পারে কারণ ট্রেনিং ডেটাসেট আপেক্ষাকৃত ছোট এবং আসল MobileNet V2 ডেটাসেটের সাথে মিলতাজুলতা।

  • ফাইন টিউনিং এর পর মডেল ভ্যালিডেশন সেটে ৯৮% একুরেসি পায়।

  1. পাইথনে টেনসরফ্লো দিয়ে ট্রেনিং রেজাল্ট ভিজ্যুয়ালাইজ করা

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

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

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