如何在Keras中将以下顺序模型转换为功能模型

时间:2019-11-28 03:15:02

标签: python machine-learning keras deep-learning lstm

我在Keras中使用以下顺序模型。

model = Sequential()
model.add(LSTM(150, input_shape=(29,3)))
model.add(Dense(100))
model.add(Dropout(0.2))
model.add(Dense(1, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])

现在,我想用功能性Keras编写相同的模型。我尝试这样做,如下。

input1 = Input(shape=(29,1))
x1 = LSTM(50)(input1)
input2 = Input(shape=(29,1))
x2 = LSTM(50)(input2)
input3 = Input(shape=(29,1))
x3 = LSTM(50)(input3)    
x = concatenate([x1,x2,x3])

但是,我得到的结果却完全不同。因此,我认为转换原始顺序模型的方式不正确。

很高兴在需要时提供更多详细信息。

1 个答案:

答案 0 :(得分:2)

inputs = Input(shape=(29,3))
outputs = LSTM(150)(inputs)
outputs = Dense(100)(outputs)
outputs = Dropout(0.2)(outputs)
outputs = Dense(1, activation='sigmoid')(outputs)

model = Model(inputs, outputs)
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])