1111from src .utils import utils , dataset
1212from src .utils .utils import get_alphabet
1313
14+ import dotenv ; dotenv .load_dotenv ()
1415import neptune .new as neptune
1516
1617alphabet = get_alphabet ()
@@ -37,7 +38,6 @@ def train(train_loader, encoder, decoder, criterion, logger, teach_forcing_prob=
3738
3839 for epoch in range (cfg .num_epochs ):
3940 train_iter = iter (train_loader )
40-
4141 for i in range (len (train_loader )):
4242 cpu_images , cpu_texts = train_iter .next ()
4343 batch_size = cpu_images .size (0 )
@@ -56,11 +56,8 @@ def train(train_loader, encoder, decoder, criterion, logger, teach_forcing_prob=
5656
5757 target_variable = target_variable .cuda ()
5858
59- decoder_outputs = []
60-
6159 for di in range (1 , max_length ):
6260 decoder_output , attention_context , state = decoder (decoder_input , attention_context , state )
63- decoder_outputs .append (decoder_output )
6461 if di == 1 :
6562 loss = criterion (decoder_output , target_variable [di ])
6663 else :
@@ -69,6 +66,7 @@ def train(train_loader, encoder, decoder, criterion, logger, teach_forcing_prob=
6966 decoder_input = utils .get_one_hot (target_variable [di ], num_classes )
7067 else :
7168 _ , topi = decoder_output .data .topk (1 )
69+ del decoder_output
7270 topi = topi .detach ()
7371 ni = topi .T [0 ]
7472 decoder_input = utils .get_one_hot (ni , num_classes )
@@ -77,8 +75,7 @@ def train(train_loader, encoder, decoder, criterion, logger, teach_forcing_prob=
7775 decoder .zero_grad ()
7876 loss .backward ()
7977
80- logger ["train/loss" ].log (loss )
81- del loss
78+ logger ["train/loss" ].log (loss .item ())
8279 encoder_optimizer .step ()
8380 decoder_optimizer .step ()
8481
0 commit comments