Solved by phan_phan in post #2 
              
              
                When calling lstm_output, hn = self.lstm(input, (h0, c0)), you get : 


lstm_output from the last layer, for all the time steps. 
(shape:[seq_len, batch, num_directions*hidden_size]) 


hn from all the layers, for the last time step 
(  tuple of two tensors, hidden and cell, both of shape:[num_layer…