I believe pack_padded_sequence forces all sequence lengths to be fixed to the longest sequence length by zero padding. But in the tutorial variable sequence lengths are passed without using pack_padded_sequences ie by simply passing in say data_point1 of size (5,1,9) and data_point2 is of size (4,1,9). When you were describing your explanation above what was the label size that you were using ? Was it of size 1 per batch ? Because I was using size sequence_length per batch.
So when I did “my method” while calculating the loss I did
criterion( out.view(out.size(0),-1) , label )
where out is of size (sequence_length,number_of_labels) and label is of size (sequence_length,)
I am just confused - why does the tutorial give label to each word rather than the word after a fixed sequence length of words ? Does it utilize any kind of temporal information or is it treating everything like something of sequence length = 1