While using lstm with bidirectional and 2 layers
hidden_vector, last_hidden = lstm(features)

last_hidden is a 2 tuple with size of each element as num_layers, batch_size, hidden_size. From what I understand, the first element in tuple is the output in forward direction and second element of tuple is the output in backward direction.
Is the last element in the leading dimension of each element in tuple the topmost hidden layer ? THat is, is the following the top most hidden layer:
top_most = last_hidden[0][-1]