Я пытаюсь замаскировать мой дополненный (с нулями) вход, который имеет размерность (сэмплы, временные шаги, особенности), то есть в моем случае (500 128 200), в модель кодировщика LSTM
. Я хочу, чтобы модель поняла, что они дополнены и не должны рассматриваться. Ниже приведен мой код: -
encoder_inputs = Input(shape=(None, num_encoder_tokens))
x = layers.Embedding(input_dim=128, output_dim=200, mask_zero=True)(encoder_inputs)
encoder = Bidirectional(LSTM(latent_dim, return_state=True,input_shape=(timesteps, features)))(x)
encoder_outputs, f_hidden_state, f_cell_state, b_hidden_state, b_cell_state = encoder(encoder_inputs)
Я получаю сообщение о том, что
ввод 0 несовместим со слоем двунаправленной_4: ожидается, что ndim = 3, найдено ndim = 4
РЕДАКТИРОВАТЬ: - Я избавился от ошибки, введя слегка измененный способ (но теперь у меня новая ошибка). Ниже приведен новый код с ошибкой: -
encoder_inputs = Input(shape=(None, num_encoder_tokens))
masking = layers.Masking(mask_value=0.0)(encoder_inputs)
encoder = Bidirectional(LSTM(latent_dim, return_state=True,input_shape=(timesteps, features)))(masking)
encoder_outputs, f_hidden_state, f_cell_state,b_hidden_state, b_cell_state = encoder(encoder_inputs)
Я получаю эту ошибку для последней строки в приведенном выше коде: -
объект 'list' не вызывается