Đây là phần hiện thực của em cho RNN sử dụng keras.Model:
def buildRNN(hidden_state_size, input_size, L=2, final_layers=None):
inputs = [None] * (L + 1)
# h_0 = zero vector
inputs[0] = tf.keras.layers.Input(shape=(hidden_state_size,), name='h_0')
last_output_layer = inputs[0]
feed_back_layer = tf.keras.layers.Dense(
hidden_state_size,
activation=tf.keras.activations.sigmoid, name=f'feedback')
for i in range(1, L + 1):
input_layer = tf.keras.layers.Input(shape=(input_size,), name=f'i_{i}')
inputs[i] = input_layer
concat_layer = tf.keras.layers.Concatenate()([input_layer, last_output_layer])
last_output_layer = feed_back_layer(concat_layer)
for layer in final_layers:
last_output_layer = layer(last_output_layer)
return tf.keras.Model(inputs=inputs, outputs=last_output_layer)
Nó bị tràn stack không biết lý do ở đâu