টেনসরফ্লো দিয়ে লস বনাম ট্রেনিং ভিজ্যুয়ালাইজ করা যায় 'matplotlib' লাইব্রেরি এবং 'plot' মেথড ব্যবহার করে ডেটা প্লট করে।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে কাজ করে নিউরাল নেটওয়ার্ক তৈরির জন্য?
কমপক্ষে একটি লেয়ার থাকা নিউরাল নেটওয়ার্ককে কনভোল্যুশনাল লেয়ার বলা হয়। আমরা কনভোল্যুশনাল নিউরাল নেটওয়ার্ক ব্যবহার করে লার্নিং মডেল বানাতে পারি।
ইমেজ ক্লাসিফিকেশনের জন্য ট্রান্সফার লার্নিং-এর ভিত্তি হলো, যদি একটি মডেল বড় ও সাধারণ ডেটাসেটে ট্রেন করা হয়, তবে সেই মডেলটি ভিজ্যুয়াল ওয়ার্ল্ডের জন্য একটি জেনেরিক মডেল হিসেবে কার্যকরভাবে কাজ করতে পারে। এতে ফিচার ম্যাপগুলো শিখে নেয়া থাকবে, অর্থাৎ ইউজারকে বড় মডেল বড় ডেটাসেটে ট্রেন করে স্ক্র্যাচ থেকে শুরু করতে হবে না।
টেনসরফ্লো হাব হলো প্রি-ট্রেনড টেনসরফ্লো মডেলের একটি রিপোজিটরি। টেনসরফ্লো দিয়ে লার্নিং মডেল ফাইন-টিউন করা যায়।
আমরা বুঝব কীভাবে tf.keras সহ টেনসরফ্লো হাব থেকে মডেল ব্যবহার করতে হয়, একটি ইমেজ ক্লাসিফিকেশন মডেল ব্যবহার করতে হয়। একবার এটি হলে, ট্রান্সফার লার্নিং ব্যবহার করে কাস্টম ইমেজ ক্লাসের জন্য একটি মডেল ফাইন-টিউন করা যায়। এটি একটি প্রি-ট্রেনড ক্লাসিফায়ার মডেল ব্যবহার করে একটি ইমেজ लेकर সেটি কী তা প্রেডিক্ট করে। এটি কোনো ট্রেনিং ছাড়াই করা যায়।
নিচের কোড চালানোর জন্য আমরা গুগল কোলাবরেটরি ব্যবহার করছি। গুগল কোল্যাব বা কোলাবরেটরি ব্রাউজারের ওপর পাইথন কোড চালাতে সাহায্য করে এবং জিরো কনফিগারেশন ও ফ্রি জিপিইউ (GPU) অ্যাক্সেস দেয়। কোলাবরেটরি জুপিটার নোটবুকের ওপর বিল্ড করা হয়েছে।
উদাহরণ
print("Visualizing the data - loss versus training steps")
plt.figure()
plt.ylabel("Loss")
plt.xlabel("Training Steps")
plt.ylim([0,2])
plt.plot(batch_stats_callback.batch_losses)
কোড কרדিট: https://www.tensorflow.org/tutorials/images/transfer_learning_with_hub
আউটপুট

ব্যাখ্যা
- কিছু ট্রেনিং ইটেরেশনের পর মডেল প্রগতিশীল দেখা যায়।
- এই প্রগতি কনসোলে ট্রেনিং স্টেপস বনাম লস হিসেবে ভিজ্যুয়ালাইজ করা হয়।