From e1697945f389a852102214efcee5c6a0922c8a21 Mon Sep 17 00:00:00 2001 From: Qasim Khan Date: Thu, 8 Jun 2023 20:13:15 +0500 Subject: [PATCH 1/4] replace old decoder diagram with new one --- .../attention-decoder-network.png | Bin 36999 -> 44701 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/_static/img/seq-seq-images/attention-decoder-network.png b/_static/img/seq-seq-images/attention-decoder-network.png index 243f87c6e972bcb712cfc1d3fa250bc725f8de31..d31d42a5af19b96af1163fbdc6fcd0e5d4a9d79f 100755 GIT binary patch literal 44701 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%0A7}^$ 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 Date: Thu, 8 Jun 2023 20:21:29 +0500 Subject: [PATCH 2/4] remove 1 from encoder1 and decoder1 --- intermediate_source/seq2seq_translation_tutorial.py | 12 ++++++------ 1 file changed, 6 insertions(+), 6 deletions(-) diff --git a/intermediate_source/seq2seq_translation_tutorial.py b/intermediate_source/seq2seq_translation_tutorial.py index 776197fbbd1..74f87a731c0 100644 --- a/intermediate_source/seq2seq_translation_tutorial.py +++ b/intermediate_source/seq2seq_translation_tutorial.py @@ -761,15 +761,15 @@ def evaluateRandomly(encoder, decoder, n=10): # hidden_size = 256 -encoder1 = EncoderRNN(input_lang.n_words, hidden_size).to(device) -attn_decoder1 = AttnDecoderRNN(hidden_size, output_lang.n_words, dropout_p=0.1).to(device) +encoder = EncoderRNN(input_lang.n_words, hidden_size).to(device) +attn_decoder = AttnDecoderRNN(hidden_size, output_lang.n_words, dropout_p=0.1).to(device) -trainIters(encoder1, attn_decoder1, 75000, print_every=5000) +trainIters(encoder, attn_decoder, 75000, print_every=5000) ###################################################################### # -evaluateRandomly(encoder1, attn_decoder1) +evaluateRandomly(encoder, attn_decoder) ###################################################################### @@ -787,7 +787,7 @@ def evaluateRandomly(encoder, decoder, n=10): # output_words, attentions = evaluate( - encoder1, attn_decoder1, "je suis trop froid .") + encoder, attn_decoder, "je suis trop froid .") plt.matshow(attentions.numpy()) @@ -817,7 +817,7 @@ def showAttention(input_sentence, output_words, attentions): def evaluateAndShowAttention(input_sentence): output_words, attentions = evaluate( - encoder1, attn_decoder1, input_sentence) + encoder, attn_decoder, input_sentence) print('input =', input_sentence) print('output =', ' '.join(output_words)) showAttention(input_sentence, output_words, attentions) From 20ca3099e791d83dceaad02adb6581a6a9792686 Mon Sep 17 00:00:00 2001 From: Qasim Khan Date: Thu, 8 Jun 2023 20:22:41 +0500 Subject: [PATCH 3/4] fix attention in AttnDecoderRNN --- .../seq2seq_translation_tutorial.py | 25 ++++++++++--------- 1 file changed, 13 insertions(+), 12 deletions(-) diff --git a/intermediate_source/seq2seq_translation_tutorial.py b/intermediate_source/seq2seq_translation_tutorial.py index 74f87a731c0..ae126dcf774 100644 --- a/intermediate_source/seq2seq_translation_tutorial.py +++ b/intermediate_source/seq2seq_translation_tutorial.py @@ -440,25 +440,26 @@ def __init__(self, hidden_size, output_size, dropout_p=0.1, max_length=MAX_LENGT self.max_length = max_length self.embedding = nn.Embedding(self.output_size, self.hidden_size) - self.attn = nn.Linear(self.hidden_size * 2, self.max_length) - self.attn_combine = nn.Linear(self.hidden_size * 2, self.hidden_size) + self.fc_hidden = nn.Linear(self.hidden_size, self.hidden_size, bias=False) + self.fc_encoder = nn.Linear(self.hidden_size, self.hidden_size, bias=False) + self.alignment_vector = nn.Parameter(torch.Tensor(1, hidden_size)) + torch.nn.init.xavier_uniform_(self.alignment_vector) self.dropout = nn.Dropout(self.dropout_p) - self.gru = nn.GRU(self.hidden_size, self.hidden_size) + self.gru = nn.GRU(self.hidden_size * 2, self.hidden_size) self.out = nn.Linear(self.hidden_size, self.output_size) def forward(self, input, hidden, encoder_outputs): - embedded = self.embedding(input).view(1, 1, -1) + embedded = self.embedding(input).view(1, -1) embedded = self.dropout(embedded) - attn_weights = F.softmax( - self.attn(torch.cat((embedded[0], hidden[0]), 1)), dim=1) - attn_applied = torch.bmm(attn_weights.unsqueeze(0), - encoder_outputs.unsqueeze(0)) - - output = torch.cat((embedded[0], attn_applied[0]), 1) - output = self.attn_combine(output).unsqueeze(0) + transformed_hidden = self.fc_hidden(hidden[0]) + expanded_hidden_state = transformed_hidden.expand(self.max_length, -1) + alignment_scores = torch.tanh(expanded_hidden_state + self.fc_encoder(encoder_outputs)) + alignment_scores = self.alignment_vector.mm(alignment_scores.T) + attn_weights = F.softmax(alignment_scores, dim=1) + context_vector = attn_weights.mm(encoder_outputs) - output = F.relu(output) + output = torch.cat((embedded, context_vector), 1).unsqueeze(0) output, hidden = self.gru(output, hidden) output = F.log_softmax(self.out(output[0]), dim=1) From b56860bd4a16352d0cc8ee8d91f0227cfd66e6ac Mon Sep 17 00:00:00 2001 From: Qasim Khan Date: Thu, 8 Jun 2023 20:33:45 +0500 Subject: [PATCH 4/4] Fix formatting going over max character count --- intermediate_source/seq2seq_translation_tutorial.py | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/intermediate_source/seq2seq_translation_tutorial.py b/intermediate_source/seq2seq_translation_tutorial.py index ae126dcf774..55ee2d9c885 100644 --- a/intermediate_source/seq2seq_translation_tutorial.py +++ b/intermediate_source/seq2seq_translation_tutorial.py @@ -454,7 +454,8 @@ def forward(self, input, hidden, encoder_outputs): transformed_hidden = self.fc_hidden(hidden[0]) expanded_hidden_state = transformed_hidden.expand(self.max_length, -1) - alignment_scores = torch.tanh(expanded_hidden_state + self.fc_encoder(encoder_outputs)) + alignment_scores = torch.tanh(expanded_hidden_state + + self.fc_encoder(encoder_outputs)) alignment_scores = self.alignment_vector.mm(alignment_scores.T) attn_weights = F.softmax(alignment_scores, dim=1) context_vector = attn_weights.mm(encoder_outputs)