It sure is a lot of keys!
The targets has shape torch.Size([1, 226, 1, 128]), when returned from the train_loader in the for-loop before applying any chaning:
for i, (features, _, targets) in enumerate(train_loader):
    # Seconds in each input stream
    seq_len = features.size(1)

When I change the shape of the targets like you suggested:
for i, (features, _, targets) in enumerate(train_loader):
    # Seconds in each input stream
    seq_len = features.size(1)

    features = features.reshape(seq_len, -1, input_size)
    targets = targets.reshape(batch_size, num_classes).long()

I get an error saying that the shape is invalid for the input size

RuntimeError: shape ‘[1, 128]’ is invalid for input of size 28928

I’m sure there is something I’m not seeing here, or I may have misunderstood something.