পারফরম্যান্স কনফিগারেশন
ফ্লাওয়ার ডেটাসেটের মডেল একুরেসি বাড়াতে বাফার প্রিফেচ এবং Rescaling লেয়ার ব্যবহার করা হয়। Rescaling লেয়ার কেরাস মডেলের অংশ হিসেবে ডেটাসেটে প্রয়োগ করা হয়।
আরও পড়ুন: টেনসরফ্লো কী এবং কেরাস কীভাবে টেনসরফ্লোর সাথে নিউরাল নেটওয়ার্ক তৈরি করে?
ফ্লাওয়ার ডেটাসেট (হাজার হাজার ছবি, ৫ সাব-ডিরেক্টরি) ব্যবহার করা হয়েছে। গুগল কোল্যাবরে কোড রান করা হয়েছে।
AUTOTUNE = tf.data.AUTOTUNE
train_ds = train_ds.cache().prefetch(buffer_size=AUTOTUNE)
val_ds = val_ds.cache().prefetch(buffer_size=AUTOTUNE)
num_classes = 5
print("একটি সিকোয়েনশিয়াল মডেল বিল্ড হচ্ছে")
model = tf.keras.Sequential([
layers.experimental.preprocessing.Rescaling(1./255),
layers.Conv2D(32, 3, activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(32, 3, activation='relu'),
layers.MaxPooling2D(),
layers.Conv2D(32, 3, activation='relu'),
layers.MaxPooling2D(),
layers.Flatten(),
layers.Dense(128, activation='relu'),
layers.Dense(num_classes)
])
কোড ক্রেডিট: https://www.tensorflow.org/tutorials/load_data/images
আউটপুট
একটি সিকোয়েনশিয়াল মডেল বিল্ড হচ্ছে
ব্যাখ্যা
- বাফার্ড প্রিফেচিং: ডিস্ক থেকে ডেটা ইও ব্লকিং ছাড়া ইয়িল্ড করতে সাহায্য করে। ডেটা লোডিং-এ গুরুত্বপূর্ণ।
- '.cache()': প্রথম ইপোকের পর ইমেজ মেমরিতে রাখে, ট্রেইনিং-এ ডেটাসেট বাধা না বने।
- বড় ডেটাসেটের জন্য অন-ডিস্ক ক্যাশও বানানো যায়।
- '.prefetch()': ডেটা প্রি-প্রসেসিং ও মডেল এক্সিকিউশন ওভারল্যাপ করে ট্রেইনিং-सময়।