Я использую сеть кодировщика-декодера для суммирования текста
Кодер - это двунаправленный GRU
Декодер - это простой GRU
Это то, что яя пытался
## ENCODER
encoder_inputs = Input(shape = (MAX_LEN,), dtype = 'int32')
encoder_embeds = embedding_layer(encoder_inputs)
x, forward_h, backward_h = Bidirectional(GRU(MAX_LEN, return_sequences = True, return_state = True))(encoder_embeds) #return state is by default True
encoder_state = Concatenate()([forward_h, backward_h])
## DECODER
decoder_inputs = Input(shape = (MAX_LEN,), dtype = 'float32')
decoder_embeds = embedding_layer(decoder_inputs)
decoder_outputs, state_s = GRU(MAX_LEN, return_sequences = True, return_state = True)(decoder_embeds, initial_state = encoder_state)
Это ошибка, которую я получаю
An `initial_state` was passed that is not compatible with `cell.state_size`. Received `state_spec`=[InputSpec(shape=(None, 198), ndim=2)]; however `cell.state_size` is 99
Я знаю, что ошибка говорит о том, что она получила 2-е измерение как (99 + 99 =) 198, когда ожидалось 99
и то,
Произошла ошибка из-за операции Concatenate ()
Что является альтернативой Concatenate () когда я хочу рассмотреть последние скрытые состояния в обоих направлениях