0

我正在使用 LSTM 进行语言翻译博客的序列到序列建模。但我无法理解以下代码行。为什么我们将 == 1.0 和 t+1 放在第 5 行?

for i, (input_text, target_text) in enumerate(zip(input_texts, target_texts)):
    for t, char in enumerate(input_text):
        encoder_input_data[i, t, input_token_index[char]] = 1.0
    encoder_input_data[i, t + 1 :, input_token_index[" "]] = 1.0
    for t, char in enumerate(target_text):
        # decoder_target_data is ahead of decoder_input_data by one timestep
        decoder_input_data[i, t, target_token_index[char]] = 1.0
        if t > 0:
            # decoder_target_data will be ahead by one timestep
            # and will not include the start character.
            decoder_target_data[i, t - 1, target_token_index[char]] = 1.0
    decoder_input_data[i, t + 1 :, target_token_index[" "]] = 1.0
    decoder_target_data[i, t:, target_token_index[" "]] = 1.0

我在互联网上搜索,但没有得到这个。如果有人可以帮助我,那将是一个很大的帮助。

在“准备数据”部分中,存在这行代码。

博客链接:https ://keras.io/examples/nlp/lstm_seq2seq/

4

0 回答 0