'add' विधि का उपयोग करके और परत के प्रकार को 'Dense' के रूप में निर्दिष्ट करके एक अनुक्रमिक मॉडल में एक घनी परत जोड़ी जा सकती है। परतों को पहले समतल किया जाता है, और फिर एक परत जोड़ी जाती है। यह नई परत पूरे प्रशिक्षण डेटासेट पर लागू होगी।
और पढ़ें: TensorFlow क्या है और केरस TensorFlow के साथ न्यूरल नेटवर्क बनाने के लिए कैसे काम करता है?
हम केरस Sequential API का उपयोग करेंगे, जो एक सादे स्टैक के साथ काम करने के लिए एक अनुक्रमिक मॉडल बनाने में मददगार है, जहां प्रत्येक परत में ठीक एक इनपुट टेंसर और एक आउटपुट टेंसर होता है।
हम नीचे दिए गए कोड को चलाने के लिए Google Colaboratory का उपयोग कर रहे हैं। Google Colab या Colaboratory ब्राउज़र पर पायथन कोड चलाने में मदद करता है और इसके लिए शून्य कॉन्फ़िगरेशन और 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) का) को एक या अधिक Dense परतों में फीड किया जाता है ताकि वर्गीकरण किया जा सके।
- Dense परतें वैक्टर को इनपुट के रूप में लेती हैं (जो 1D हैं), और वर्तमान आउटपुट एक 3D टेंसर है।
- अगला, 3D आउटपुट को 1D में समतल किया जाता है, और शीर्ष पर एक या अधिक Dense परतें जोड़ी जाती हैं।
- CIFAR में 10 आउटपुट क्लास हैं, इसलिए 10 आउटपुट के साथ एक अंतिम Dense परत जोड़ी जाती है।
- (4, 4, 64) आउटपुट को दो Dense परतों से गुजरने से पहले (1024) आकार के वैक्टर में समतल किया जाता है।