簡體   English   中英

Keras-如何將LSTM代碼轉換為CNN

[英]Keras - How to convert LSTM code into CNN

我正在積極或消極地進行二進制分類情感分析,我的lstm代碼工作正常,但是我將我的lstm代碼轉換為具有“ input_length”的值錯誤為30的 cnn ,但是收到的輸入具有形狀(無,1)

我的輸入形狀是(30,1)我的批量大小是24 in lstm

model.add(Embedding(30,30,input_length=30))
model.add(Conv1D(padding='valid',activation='relu',strides=1))
model.add(Dropout(0.2))
model.add(Dense(30))
model.add(Dropout(0.2))
model.add(Activation('relu'))
model.add(Dense(1))
model.add(Activation('sigmoid'))
model.compile(loss='binary_crossentropy',optimizer='adam',metrics=['accuracy'])
model.fit(inputBatch, ponlabel,batch_size=24,epochs=20,validation_data=(inputBatch, ponlabel))

為了參考起見,我已經輸入了LSTM代碼。

model.add(LSTM(100, input_shape=(30, 1)))
model.add(Dense(30, activation="relu"))
model.add(Dense(1, activation="sigmoid"))
model.compile(loss='mean_absolute_error', optimizer='adam',metrics=["accuracy"])
model.fit(inputBatch, ponlabel,
          batch_size=24, epochs=20, verbose=1)

您正在使用Convolution2D但按時間步長計算的數據是1維的。 因此,您需要使用Convolutional1D對句子中的標記進行卷積。 Keras示例文件夾imdb_cnn.py中有一個CNN文本分類。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM