What you mean is that:
tensor([0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 2, 2, 2,
        2, 2, 2])

I did it around 10 times and couldn’t believe my eyes till I read docs.
Actually [batch_size, *] is possible, I believe.
torch.argmax(y_train_torch) gives on my y_train_torch:
tensor(20)

Okay. I am closer to truth. I checked the shape of input and output tensors they are fine.
But:
model_for = model(X_train_torch)
for number in range(27):
    print(model_for[number].argmax())

Gives:
tensor(1)
tensor(1)
tensor(1)
tensor(1)
tensor(1)
tensor(1)
tensor(1)
tensor(1)
tensor(1)
tensor(2)
tensor(2)
tensor(2)
tensor(2)
tensor(2)
tensor(2)
tensor(2)
tensor(2)
tensor(10)
tensor(0)
tensor(0)
tensor(11)
tensor(5)
tensor(11)
tensor(11)
tensor(5)
tensor(5)
tensor(5)

Why is 5,10 and 11? I didn’t say that 
Labels are fine. Not sure but without it. It’s not working and asking me to give exact dimensions of the labels.
What if the problem is in seq_len and batch?
But PyTorch is giving me the error in the case when I correctly did a model that batch should be second.
So, even in the case of messing up with seq_len I have a bunch of Linear layers that should play the game and make everything perfect. Even if there is a mistake. Correct me if I am wrong.
Therefore, the problem might be in: seq_len.
Therefore, I have to change slicing of lstm to something else for model to be happy.
How?