I found an explanation here: https://github.com/pytorch/pytorch/issues/1820#issuecomment-309188062 647.
“The (unusual) format of a PackedSequence object is the way it is because of the API of cuDNN’s RNN/LSTM functions, which expect a time-sequence of variable-length batches rather than a batch-sequence of variable-length samples. If your samples are a, bc, and defg the PackedSequence will contain the packed tensor abdcefg and a list of lengths [3, 2, 1, 1]”
This makes sense for the above example.