out = out.reshape(out.size(0), -1)   => You are reshaping here, causing dimensions to reduce.
Try adding a dimension like below but check how your model performs:
out = F.gelu(out)
out = out.unsqueeze(dim=0)
print(out.shape)
out, _ = self.lstm1(out)