美文网首页
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