Я хочу составить 2 ячейки LSTM, в которых вход первого уровня стека является конкатенацией нормальных входов и выхода второго уровня стека в предыдущем временном шаге.
Вот код для нового стека RNN из этой сущности .
import keras
import numpy as np
timesteps = 60
input_dim = 64
samples = 10000
batch_size = 128
output_dim = 64
# Test data.
x_np = np.random.random((samples, timesteps, input_dim))
y_np = np.random.random((samples, output_dim))
cells = [
keras.layers.LSTMCell(output_dim), # lstm1
keras.layers.LSTMCell(output_dim), # lstm2
]
inputs = keras.Input((timesteps, input_dim))
x = keras.layers.RNN(cells)(inputs)
new_model = keras.models.Model(inputs, x)
new_model.compile(optimizer='rmsprop', loss='mse')
new_model.fit(x_np, y_np, batch_size=batch_size, epochs=4)
Моя цель - преобразовать модель слева в модель справа на этом рисунке:

Возможно ли это в Керасе? Или мне лучше работать напрямую с tenorflow?