美文网首页
Keras搭建模型的两种方式

Keras搭建模型的两种方式

作者: leehour | 来源:发表于2020-01-19 15:31 被阅读0次

    这里使用搭建一个二分类的文本分类器的例子来说明:

    1.第一种是使用Sequence()

    model = Sequential()
    if embedding_matrix is None:
        model.add(Embedding(max_feature, embed_size))
    else:
        model.add(Embedding(max_feature, embed_size, weights=[embedding_matrix], trainable=False))
    model.add(LSTM(64, activation='tanh', return_sequences=False))
    model.add(Dense(16, activation='relu'))
    model.add(Dense(1, activation='sigmoid'))
    print(model.summary())
    
    

    构建过程为:首先定义一个序列预处理类Sequence(), 再向其中add需要的层。
    其中embedding_matrix是你已经设置好的词向量矩阵。利用model.summary()可以查看模型结构:

    image.png
    可以看到每一层的输出维度和参数。

    2.第二种是直接使用多个Layer拼接起来:

        content = Input(shape=(100,), dtype='int32')
        embedding = Embedding(
            name="word_embedding",
            input_dim=embedding_matrix.shape[0],
            weights=[embedding_matrix],
            output_dim=embedding_matrix.shape[1],
            trainable=False)
    
        x = LSTM(64, activation='tanh', return_sequences=False)(embedding(content))
        x = Dense(16, activation='relu')(x)
        output = Dense(1, activation="sigmoid")(x)
        model = Model(inputs=content, outputs=output)
        print(model.summary())
    

    两种基本方式都比较快捷。在TensorFlow2.0版本已经集成了Keras,只需要把引用从原有的from keras.layers import XXX 改成from tensorflow.keras.layers import XXX即可。

    相关文章

      网友评论

          本文标题:Keras搭建模型的两种方式

          本文链接:https://www.haomeiwen.com/subject/fzprzctx.html