जब एक मॉडल बनाया जाता है तो फ्लावर डेटासेट एक निश्चित प्रतिशत सटीकता देगा। यदि मॉडल को परफॉरमेंस के लिए कॉन्फ़िगर करना आवश्यक है, तो Rescaling लेयर के साथ बफर प्रीफेच का उपयोग किया जाता है। इस लेयर को Keras मॉडल का उपयोग करके डेटासेट पर लागू किया जाता है, जिससे रीस्केलिंग लेयर Keras मॉडल का हिस्सा बन जाता है।
और पढ़ें: TensorFlow क्या है और Keras, TensorFlow के साथ मिलकर न्यूरल नेटवर्क कैसे बनाता है?
हम फ्लावर्स डेटासेट का उपयोग करेंगे, जिसमें कई हजारों फूलों की छवियां होती हैं। इसमें 5 सब-डायरेक्टरीज हैं, और प्रत्येक क्लास के लिए एक सब-डायरेक्टरी है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर Python कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPUs (ग्राफ़िकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के ऊपर बनाया गया है।
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
आउटपुट
एक सिक्वेंशियल मॉडल बनाया गया है
व्याख्या
- बफर्ड प्रीफेचिंग का उपयोग किया जाता है ताकि डेटा को I/O ब्लॉकिंग के बिना डिस्क से प्राप्त किया जा सके।
- यह डेटा लोड करते समय एक महत्वपूर्ण कदम है।
- 'cache()' मेथड पहली epoch में डिस्क से लोड होने के बाद इमेजेज को मेमोरी में रखने में मदद करता है।
- यह सुनिश्चित करता है कि डेटासेट मॉडल को ट्रेन करते समय बाधा न बने।
- यदि डेटासेट मेमोरी में फिट होने के लिए बहुत बड़ा है, तो इसी मेथड का उपयोग परफॉरमेंट ऑन-डिस्क कैश बनाने के लिए किया जा सकता है।
- 'prefetch()' मेथड डेटा प्रीप्रोसेसिंग और मॉडल एक्जीक्यूशन ऑपरेशन्स को ओवरलैप करता है जबकि डेटा ट्रेन किया जा रहा है।