def bidirectional_lstm(len_output):
# sequence_input is a matrix of glove vectors (one for each input word)
sequence_input = Input(
shape=(MAX_SEQUENCE_LENGTH, EMBEDDING_DIM,), dtype='float32')
l_lstm = Bidirectional(LSTM(100))(sequence_input)
preds = Dense(len_output, activation='softmax')(l_lstm)
model = Model(sequence_input, preds)
model.compile(loss='categorical_crossentropy',
optimizer='rmsprop',
metrics=[utils.f1_score, 'categorical_accuracy'])
"""
model.add(Bidirectional(LSTM(shape['nr_hidden'])))
# dropout to avoid overfitting
model.add(Dropout(settings['dropout']))
model.add(Dense(shape['nr_class'], activation='sigmoid'))
model.compile(optimizer=Adam(lr=settings['lr']), loss='binary_crossentropy',
metrics=['accuracy'])
"""
return model
评论列表
文章目录