That issue got solved. I was supposed to use the output of the last lstm i.e.,lstm_out[-1]
The exact code statement is fully_conn(lstm_out[-1].view(-1, self.hidden_dim*2))
Hopefully this will be of help to someone.
Yes and to answer your questions, batch_first = True, batch_size=1.
Word2index was created using the entire vocabulary in the X_train. Each word had a  dimension of128. I had used a pretrained embedding.