That is (obviously) where I looked first. It doesn’t mention anything about how it deals with tensors of dimension two. I expected a LSTM to treat a 2D tensor much like a PackedSequence but it doesn’t.
The documentation also (implicitly) says that the input should have three dimensions: input (seq_len, batch, input_size). But it doesn’t fail or warn when dealing with a 2D input.
Also, what confused me is that an input with 2 dimensions has an output with 3 dimensions.