 Pack values based on the length blob. Each number
 from length blob represents the corresponding
 values that need to be packed. The dimension for
 each pack is the same as the maximum number from
 the length blob (padding with zero is implemented
 for smaller length value). The overall output
 dimension is:

 T * N * D, where T is the max number of lengths,
 N is the size of lengths, and D is the dimension
 of each feature value. The following example shows
 the input and output of this operator:


 Given:
 values = [v1, v2, v3, v4, v5, v6, v7, v8]
 lengths = [2, 3, 1, 2];


 Output:
 output = [
 [v1, v3, v6, v7],
 [v2, v4, 0, v8],
 [0, v5, 0, 0 ],
 ]


 One application for this operator is the transfer
 data into the format that is used for RNN
 models. Note that the gradient operator of
 PackRNNSequence is UnpackRNNSequence.