ডেটা স্ট্যান্ডার্ডাইজেশন
ডেটা স্ট্যান্ডার্ডাইজেশন মানে ডেটাসেটকে এমন লেভেলে স্কেল করা যাতে সব ফিচার সমান ইউনিটে রিপ্রেজেন্ট করা যায়। Rescaling লেয়ার Keras-এর 'Rescaling' মেথড দিয়ে বানানো হয়। 'map' মেথড দিয়ে পুরো ডেটাসেটে প্রয়োগ করা হয়।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে নিউরাল নেটওয়ার্ক তৈরি করে?
ফ্লাওয়ার ডেটাসেট (হাজার হাজার ছবি, ৫ সাব-ডিরেক্টরি) ব্যবহার করা হয়েছে। গুগল কোল্যাবরে কোড রান করা হয়েছে।
from tensorflow.keras import layers
print("রিস্কেলিং লেয়ার দিয়ে ডেটা স্ট্যান্ডার্ডাইজ")
normalization_layer = tf.keras.layers.experimental.preprocessing.Rescaling(1./255)
print("এই লেয়ার map ফাংশন দিয়ে ডেটাসেটে প্রয়োগ করা যায়")
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/load_data/images
আউটপুট
রিস্কেলিং লেয়ার দিয়ে ডেটা স্ট্যান্ডার্ডাইজ
এই লেয়ার map ফাংশন দিয়ে ডেটাসেটে প্রয়োগ করা যায়
0.0 0.96902645
ব্যাখ্যা
- RGB চ্যানেল ভ্যালু ০-২৫৫ রেঞ্জে থাকে।
- নিউরাল নেটওয়ার্কের জন্য এটি ভালো নয়।
- ইনপুট ডেটা যত ছোট তত ভালো।
- ইমেজ ভ্যালু ০-১ রেঞ্জে স্ট্যান্ডার্ডাইজ।
- Rescaling লেয়ার দিয়ে এটি করা হয়।
- বিকল্প: এই লেয়ার মডেল ডেফিনিশনে ইনক্লুড করলে ডিপ্লয়মেন্ট সিম্পল হয়।