the (\operatorname{sum}(\text{target_lengths})) form, the
        targets are assumed to be un-padded and concatenated within 1
        dimension.
  * Input_lengths: Tuple or tensor of size (N) or (), where N =
    \text{batch size}. It represent the lengths of the inputs
    (must each be \leq T). And the lengths are specified for each
    sequence to achieve masking under the assumption that
    sequences are padded to equal lengths.

  * Target_lengths: Tuple or tensor of size (N) or (), where N =
    \text{batch size}. It represent lengths of the targets.
    Lengths are specified for each sequence to achieve masking
    under the assumption that sequences are padded to equal
    lengths. If target shape is (N,S), target_lengths are
    effectively the stop index s_n for each target sequence, such
    that "target_n = targets[n,0:s_n]" for each target in a batch.
    Lengths must each be \leq S If the targets are given as a 1d
