ReverseSequence

Versioned name: ReverseSequence-1

Category: data movement operation

Short description: ReverseSequence reverses variable length slices of data.

Detailed description: ReverseSequence slices input along the dimension specified in the batch_axis, and for each slice i, reverses the first lengths[i] (the second input) elements along the dimension specified in the seq_axis.

Attributes

  • batch_axis
    • Description: batch_axis is the index of the batch dimension.
    • Range of values: an integer. Can be negative.
    • Type: int
    • Default value: 0
    • Required: no
  • seq_axis
    • Description: seq_axis is the index of the sequence dimension.
    • Range of values: an integer. Can be negative.
    • Type: int
    • Default value: 1
    • Required: no

Inputs:

  • 1: tensor with input data to reverse. Required.
  • 2: 1D tensor populated with integers with sequence lengths in the 1st input tensor. Required.

Example

<layer ... type="ReverseSequence">
<data batch_axis="0" seq_axis="1"/>
<input>
<port id="0">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
<port id="1">
<dim>3</dim>
</port>
</input>
<output>
<port id="2">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
</output>
</layer>