मैं एक भावना वर्गीकरण कार्य के लिए एक द्वि-एलएसटीएम परत से पहले अधिकतम-पूलिंग के साथ एक सीएनएन परत जोड़ना चाहता हूं लेकिन मुझे एक त्रुटि मिल रही है।
यहां वह कोड है जिसका मैं उपयोग कर रहा हूं।
model = Sequential()
model.add(Embedding(max_words, 30, input_length=max_len))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Conv1D(32, kernel_size=3, activation='relu'))
model.add(GlobalMaxPooling1D())
model.add(Flatten())
model.add(Bidirectional(LSTM(32, return_sequences=True)))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(Dropout(0.8))
model.add(Dense(1, activation='sigmoid'))
model.summary()
यह त्रुटि है जो मुझे मिल रही है
ValueError Traceback (most recent call last)
<ipython-input-64-49cde447597a> in <module>()
6 model.add(Conv1D(32, kernel_size=3, activation='relu'))
7 model.add(GlobalMaxPooling1D())
----> 8 model.add(Flatten())
9 model.add(Bidirectional(LSTM(32, return_sequences=True)))
10 model.add(BatchNormalization())
2 frames
/usr/local/lib/python3.6/dist-packages/keras/engine/base_layer.py in assert_input_compatibility(self, inputs)
356 self.name + ': expected min_ndim=' +
357 str(spec.min_ndim) + ', found ndim=' +
--> 358 str(K.ndim(x)))
359 # Check dtype.
360 if spec.dtype is not None:
ValueError: Input 0 is incompatible with layer flatten_3: expected min_ndim=3, found ndim=2
0
Amber Bhanarkar
8 जुलाई 2020, 16:56
1 उत्तर
सबसे बढ़िया उत्तर
मैं आपको यही सुझाव देता हूं... 3डी प्रारूप में एम्बेडिंग बनाए रखने और एलएसटीएम को ठीक से फिट करने के लिए समतल और वैश्विक पूलिंग को हटा दें। मैंने रिटर्न सीक्वेंस को गलत पर भी सेट किया है क्योंकि आपका एक सेंटीमेंट क्लासिफायर है और मान लीजिए कि आपका आउटपुट 2D है
max_words = 111
max_len = 50
model = Sequential()
model.add(Embedding(max_words, 30, input_length=max_len))
model.add(SpatialDropout1D(0.5))
model.add(Conv1D(32, kernel_size=3, activation='relu'))
model.add(Bidirectional(LSTM(32, return_sequences=False)))
model.add(BatchNormalization())
model.add(Activation('tanh'))
model.add(Dropout(0.5))
model.add(Dense(1, activation='sigmoid'))
model.summary()
2
Marco Cerliani
8 जुलाई 2020, 17:33
संबंधित सवाल
नए सवाल
python-3.x
पायथन प्रोग्रामिंग के बारे में प्रश्नों के लिए जो भाषा के संस्करण 3+ के लिए विशिष्ट हैं। सभी पायथन सवालों पर अधिक जेनेरिक [अजगर] टैग का उपयोग करें, और केवल यह जोड़ें यदि आपका प्रश्न संस्करण-विशिष्ट है। पायथन 2 प्रश्नों के लिए [अजगर -2] टैग का उपयोग करें।