আমরা ফুলের ডেটাসেট ব্যবহার করব, যেটিতে কয়েক হাজার ফুলের ছবি রয়েছে। এটিতে 5টি সাব-ডিরেক্টরি রয়েছে এবং প্রতিটি ক্লাসের জন্য একটি সাব-ডিরেক্টরি রয়েছে। একবার 'get_file' পদ্ধতি ব্যবহার করে ফুলের ডেটাসেট ডাউনলোড হয়ে গেলে, এটির সাথে কাজ করার জন্য এটি পরিবেশে লোড করা হবে।
মডেলে একটি স্বাভাবিককরণ স্তর প্রবর্তন করে ফুলের ডেটা প্রমিত করা যেতে পারে। এই স্তরটিকে বলা হয় 'রিস্কেলিং' স্তর, যা 'মানচিত্র' পদ্ধতি ব্যবহার করে সমগ্র ডেটাসেটে প্রয়োগ করা হয়।
আরো পড়ুন: টেনসরফ্লো কী এবং নিউরাল নেটওয়ার্ক তৈরি করতে টেনসরফ্লো-এর সাথে কেরাস কীভাবে কাজ করে?
নিচের কোডটি চালানোর জন্য আমরা Google Colaboratory ব্যবহার করছি। Google Colab বা Colaboratory ব্রাউজারে Python কোড চালাতে সাহায্য করে এবং এর জন্য শূন্য কনফিগারেশন এবং GPUs (গ্রাফিক্যাল প্রসেসিং ইউনিট) তে বিনামূল্যে অ্যাক্সেস প্রয়োজন। জুপিটার নোটবুকের উপরে কোলাবোরেটরি তৈরি করা হয়েছে।
print("Normalization layer is created ") normalization_layer = layers.experimental.preprocessing.Rescaling(1./255) print("This layer is applied to dataset using map function ") normalized_ds = train_ds.map(lambda x, y: (normalization_layer(x), y)) image_batch, labels_batch = next(iter(normalized_ds)) first_image = image_batch[0] print(np.min(first_image), np.max(first_image))
কোড ক্রেডিট:https://www.tensorflow.org/tutorials/images/classification
আউটপুট
Normalization layer is created This layer is applied to dataset using map function 0.0 1.0
ব্যাখ্যা
- RGB চ্যানেলের মানগুলি [0, 255] পরিসরে।
- এটি নিউরাল নেটওয়ার্কের জন্য আদর্শ বলে বিবেচিত হয় না।
- একটি থাম্ব নিয়ম হিসাবে, নিশ্চিত করুন যে ইনপুট মান ছোট।
- অতএব, আমরা পরিসর [0, 1] এর মধ্যে পড়ার জন্য মানগুলিকে মানসম্মত করতে পারি।
- এটি রিস্কেলিং লেয়ার ব্যবহার করে করা হয়।
- মানচিত্র ফাংশন কল করে ডেটাসেটে স্তর প্রয়োগ করে এটি করা যেতে পারে।
- এটি করার আরেকটি উপায় হল মডেল সংজ্ঞার মধ্যে স্তরটি অন্তর্ভুক্ত করা।
- এটি স্থাপন প্রক্রিয়াকে সহজ করবে।