from keras import regularizers,constraints,initializers
model = Sequential()
FIRST_LSTM = 256
SECOND_LSTM = 256
EMBEDD_VECTOR_LENGTH = 128
outputs=[]
inputs_=[]
EMB = Embedding(DICTIONARY_LENGTH, EMBEDD_VECTOR_LENGTH, input_length=30)
BDR = Bidirectional(CuDNNLSTM(FIRST_LSTM,return_sequences=True),merge_mode='concat')
TDB = TimeDistributed(Dense(DICTIONARY_LENGTH+3))
for i in range(SENTENCES_IN_NOVEL): # SENTENCES_IN_NOVEL = 100
if(i%10==0):
print(i,"/",SENTENCES_IN_NOVEL)
inputlayer = Input(shape=[MAX_LENGTH]) # MAX_LENGTH = 30 (30 words per sentence)
inputs_.append(inputlayer)
layer = EMB(inputlayer) # 50 is embedd vector size for each POS Tag
layer = BDR(layer) # output 100 because of bidirectonal concat
layer = Lambda( lambda x: K.sum(x, axis=1), input_shape=(30,2*FIRST_LSTM))(layer)
outputs.append(layer)
merge_ = concatenate(outputs)
merge_ = Reshape((SENTENCES_IN_NOVEL, 2*FIRST_LSTM), input_shape=(SENTENCES_IN_NOVEL*(2*FIRST_LSTM),))(merge_)
merge_ = Bidirectional(CuDNNLSTM(SECOND_LSTM,return_sequences=True),merge_mode='concat')(merge_)
attention_mul = Attention(100)(merge_)#step_dimen =100
output = Dense(14, activation='softmax')(attention_mul)
model = Model(inputs=inputs_,outputs=output)
model.summary()
我写这个模型是为了预测Novels LSTM-LSTM模型的作者。 想要转换CNN-LSTM。
我无法弄清楚这个问题。