def create_char_cnn_model(self, emb_dim, word_maxlen, vocab_char_size,
char_maxlen):
from aes.layers import Conv1DMask
logger.info('Building character CNN model')
input_char = Input(shape=(char_maxlen, ), name='input_char')
char_emb = Embedding(
vocab_char_size, emb_dim, mask_zero=True)(input_char)
cnn = Conv1DMask(
filters=emb_dim, kernel_size=3, padding='same')(char_emb)
dropped = Dropout(0.5)(cnn)
mot = MeanOverTime(mask_zero=True)(dropped)
densed = Dense(self.num_outputs, name='dense')(mot)
output = Activation('sigmoid')(densed)
model = Model(inputs=input_char, outputs=output)
model.get_layer('dense').bias.set_value(self.bias)
logger.info(' Done')
return model
评论列表
文章目录