rnn_single.py 文件源码

python
阅读 11 收藏 0 点赞 0 评论 0

项目:mtl 作者: zhenhongChen 项目源码 文件源码
def build_models(params, index_embedding):

    in_layer = Input(shape=(params['max_len'],), dtype='int32')

    mid_layer = Embedding(input_dim=params['num_words'], 
                          output_dim=params['embedding_len'], 
                          weights=[index_embedding])(in_layer)

    # mid_layer = LSTM(params['lstm_output_dim'], return_sequences=True,
    #                       dropout=0.5, recurrent_dropout=0.5)(mid_layer)

    mid_layer = Bidirectional(LSTM(params['lstm_output_dim'], return_sequences=True,
                            dropout=0.5, recurrent_dropout=0.5)) (mid_layer)

    mid_layer = Dense(params['dense_units'])(mid_layer)
    mid_layer = Dropout(0.3)(mid_layer)

    mid_layer = Flatten()(mid_layer)


    if (params['num_class'] == 2):
        loss = 'binary_crossentropy'
        out_layer = Dense(units=1, activation='sigmoid')(mid_layer)
    else:
        loss = 'categorical_crossentropy'
        out_layer = Dense(units=params['num_class'], activation='softmax')(mid_layer)

    single_model = Model(inputs=in_layer, outputs=out_layer)
    single_model.compile(loss=loss, optimizer='rmsprop', metrics=['accuracy'])

    return single_model
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号