[英]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.