ReverseSequence

バージョン名: ReverseSequence-1

カテゴリー: データ移動

簡単な説明: ReverseSequence は、データの可変長スライスを反転します。

詳細な説明:

ReverseSequence は、batch_axis 属性で指定された次元に沿って、指定された入力テンソル data をスライスします。各スライス i について、seq_axis 属性で指定された次元に沿って最初の seq_lengths[i] 要素が反転されます。

属性:

  • batch_axis

    • 説明: batch_axis は、data 入力テンソルがスライスされるバッチ次元のインデックスです。

    • 値の範囲: 範囲内の整数 [-rank(data), rank(data) - 1]

    • タイプ: int

    • デフォルト値: 0

    • 必須: いいえ

  • seq_axis

    • 説明: seq_axis は、data 入力テンソルの要素が反転されるシーケンス次元のインデックスです。

    • 値の範囲: 範囲内の整数 [-rank(data), rank(data) - 1]

    • タイプ: int

    • デフォルト値: 1

    • 必須: いいえ

入力:

  • 1: data - 反転するデータを入力します。タイプ T1 でランク 2 以上のテンソル。必須。

  • 2: seq_lengths - 入力テンソル data で反転するシーケンスの長さ。T2 タイプの data_shape[batch_axis] 要素で構成される 1D テンソル。すべての要素の値は、[1, data_shape[seq_axis]] の範囲内の整数値である必要があります。値 1 は、反転要素がないことを意味します。必須。

出力:

  • 1: スライスおよび逆 data 入力テンソルの結果。T1 タイプのテンソルで、data 入力テンソルと同じ形状です。

タイプ:

  • T1: サポートされている任意のタイプ。

  • T2: サポートされている数値タイプ。

例:

 <layer ... type="ReverseSequence">
     <data batch_axis="0" seq_axis="1"/>
     <input>
         <port id="0">       <!-- data -->
             <dim>4</dim>    <!-- batch_axis -->
             <dim>10</dim>   <!-- seq_axis -->
             <dim>100</dim>
             <dim>200</dim>
         </port>
         <port id="1">
             <dim>4</dim>    <!-- seq_lengths value: [2, 4, 8, 10] -->
         </port>
     </input>
     <output>
         <port id="2">
             <dim>4</dim>
             <dim>10</dim>
             <dim>100</dim>
             <dim>200</dim>
         </port>
     </output>
 </layer>