Как использовать встраивание в onehot кодировать перед передачей
Я могу обучить свою модель seq2seq, когда в функцию подгонки передается кодированный входной сигнал. Как бы я добился того же, если бы вход не был горячо закодирован?
Следующий код работает
def seqModel():
latent_dim = 256 # Latent dimensionality of the encoding space.
encoder_inputs = Input(shape=(None, input_vocab_size))
decoder_inputs = Input(shape=(None, output_vocab_size))
encoder = LSTM(latent_dim, return_state=True)
encoder_outputs, state_h, state_c = encoder(encoder_inputs)
encoder_states = [state_h, state_c]
decoder_inputs = Input(shape=(None, num_decoder_tokens))
decoder_lstm = LSTM(latent_dim, return_sequences=True, return_state=True)
decoder_outputs, _, _ = decoder_lstm(decoder_inputs,\
initial_state=encoder_states)
decoder_dense = Dense(num_decoder_tokens, activation='softmax')
decoder_outputs = decoder_dense(decoder_outputs)
model = Model([encoder_inputs, decoder_inputs], decoder_outputs)
return model
def train(data):
model = seqModel()
#compile and get data
model.fit([to_one_hot(input_texts, num_encoder_tokens),to_one_hot(target_text, num_decoder_tokens)], outputs,batch_size=3, epochs=5)
Меня просят не кодировать один метод в методе поезда. Как бы я сделал это в методе seqModel? Является ли встраивание правильным способом кодирования onehot?