昨天,我终于可以在Keras实施我的模型了。但是对于我的学习,我想在Sequential
和Functional
中实现我的模型。
Convert Sequential to Functional in Keras
我的Functional
实际上运作良好。另一方面,Sequential
有效,但准确性比Functional
差。
你能在我的Sequential
模型中发现任何错误吗?
if is_sequential:
# Sequential, working
x = Sequential()
x.add(LSTM(128,
input_shape=(seq_len, input_dim),
activation='tanh',
return_sequences=True))
x.add(TimeDistributed(Dense(out_size, activation='softmax')))
mask= Sequential()
mask.add(Dense(out_size, input_shape=(seq_len, out_size)))
model = Sequential()
model.add(Merge([x, mask], mode='mul'))
else:
# Functional, working
x = Input((seq_len, input_dim))
lstm = LSTM(128, return_sequences=True, activation='tanh')(x)
td = TimeDistributed(Dense(out_size, activation='softmax'))(lstm)
mask= Input((seq_len, out_size))
out = merge([td, mask], mode='mul')
model = Model(input=[x, mask], output=out)
# same in Sequential and Functional
model.compile(...)
model.fit(...)