हम फूलों के डेटासेट का उपयोग करेंगे, जिसमें हजारों फूलों की छवियां हैं। इसमें 5 सब-डायरेक्टरी हैं, और प्रत्येक क्लास के लिए एक सब-डायरेक्टरी है। एक बार 'get_file' विधि का उपयोग करके फूल डेटासेट डाउनलोड हो जाने पर, इसे पर्यावरण में लोड किया जाएगा ताकि इसके साथ काम किया जा सके।
फूल डेटा को मॉडल में एक सामान्यीकरण परत पेश करके मानकीकृत किया जा सकता है। इस परत को 'Rescaling' परत कहा जाता है, जिसे 'map' विधि का उपयोग करके पूरे डेटासेट पर लागू किया जाता है।
और पढ़ें: TensorFlow क्या है और केरस TensorFlow के साथ न्यूरल नेटवर्क बनाने के लिए कैसे काम करता है?
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के शीर्ष पर बनाया गया है।
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] रेंज में मानकीकृत कर सकते हैं।
- यह Rescaling परत का उपयोग करके किया जाता है।
- इसे map फ़ंक्शन को कॉल करके डेटासेट पर परत लागू करके किया जा सकता है।
- इसे करने का दूसरा तरीका मॉडल परिभाषा के भीतर परत को शामिल करना है।
- यह तैनाती प्रक्रिया को सरल बनाएगा।