एक डेंस लेयर को 'add' मेथड का उपयोग करके सिक्वेंशियल मॉडल में जोड़ा जा सकता है, और लेयर के प्रकार को 'Dense' के रूप में निर्दिष्ट किया जा सकता है। लेयर्स को पहले फ्लैट किया जाता है, और फिर एक लेयर जोड़ा जाता है। यह नई लेयर पूरे प्रशिक्षण डेटासेट पर लागू होगी।
और पढ़ें: TensorFlow क्या है और केरस (Keras) TensorFlow के साथ कैसे काम करता है न्यूरल नेटवर्क बनाने के लिए?
हम केरस सिक्वेंशियल API का उपयोग करेंगे, जो एक सिक्वेंशियल मॉडल बनाने में सहायक है जो लेयर्स के एक साधारण स्टैक के साथ काम करता है, जहां प्रत्येक लेयर में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर Python कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और GPU (ग्राफिकल प्रोसेसिंग यूनिट्स) तक मुफ्त पहुंच की आवश्यकता होती है। Colaboratory को Jupyter Notebook के शीर्ष पर बनाया गया है।
print("Adding dense layer on top") model.add(layers.Flatten()) model.add(layers.Dense(64, activation='relu')) model.add(layers.Dense(10)) print("Complete architecture of the model") model.summary()
कोड क्रेडिट: https://www.tensorflow.org/tutorials/images/cnn
आउटपुट
Adding dense layer on top Complete architecture of the model Model: "sequential_1" _________________________________________________________________ Layer (type) Output Shape Param # ================================================================= conv2d_3 (Conv2D) (None, 30, 30, 32) 896 _________________________________________________________________ max_pooling2d_2 (MaxPooling2 (None, 15, 15, 32) 0 _________________________________________________________________ conv2d_4 (Conv2D) (None, 13, 13, 64) 18496 _________________________________________________________________ max_pooling2d_3 (MaxPooling2 (None, 6, 6, 64) 0 _________________________________________________________________ conv2d_5 (Conv2D) (None, 4, 4, 64) 36928 _________________________________________________________________ flatten (Flatten) (None, 1024) 0 _________________________________________________________________ dense (Dense) (None, 64) 65600 _________________________________________________________________ dense_1 (Dense) (None, 10) 650 ================================================================= Total params: 122,570 Trainable params: 122,570 Non-trainable params: 0 _________________________________________________________________
व्याख्या
- मॉडल को पूरा करने के लिए, कन्वोल्यूशनल बेस से अंतिम आउटपुट टेंसर (आकार (4, 4, 64) का) एक या अधिक डेंस लेयर्स को खिलाया जाता है ताकि वर्गीकरण किया जा सके।
- डेंस लेयर्स वेक्टर्स को इनपुट के रूप में लेते हैं (जो 1D हैं), और वर्तमान आउटपुट एक 3D टेंसर है।
- अगला, 3D आउटपुट को 1D में फ्लैट किया जाता है, और शीर्ष पर एक या अधिक डेंस लेयर्स जोड़े जाते हैं।
- CIFAR में 10 आउटपुट क्लास हैं, इसलिए 10 आउटपुट के साथ एक अंतिम डेंस लेयर जोड़ा जाता है।
- (4, 4, 64) आउटपुट को दो डेंस लेयर्स से गुजरने से पहले (1024) आकार के वेक्टर्स में फ्लैट किया जाता है।