2017-12-30 3 views

Antwort

0

Da der RNN eine feste Länge hat, können Sie die Sequenz mit einer Lambda Schicht teilen und die Ausgänge in mehrere separate Dense Schichten einspeisen. Es ist nur eine Problemumgehung, kann aber unter bestimmten Umständen nützlich sein.

Zum Beispiel

timesteps = 5 
inputs = Input(shape=(timesteps, 10)) 
hidden = LSTM(32, return_sequences=True)(inputs) 
hidden_split = Lambda(lambda x: [x[:, t, :] for t in range(timesteps)])(hidden) 
outputs = [Dense(10)(x) for x in hidden_split] 

# you can concatenate the outputs back into a 3D tensor if necessary 
outputs = Concatenate(axis=1)([Reshape((1, -1))(x) for x in outputs]) 
outputs = ... 
model = Model(inputs, outputs) 
Verwandte Themen