Roll#
バージョン名: Roll-7
カテゴリー: データ移動
簡単な説明: Roll 操作は、指定された軸に沿ってテンソルの要素をシフトします。
詳細な説明: Roll は、最初の入力テンソルと同じ形状を持ち、axes テンソルで指定された次元に沿って要素がシフトされたテンソルを生成します。シフトサイズは shift 入力テンソルで指定されます。最後の位置を超えてシフトされた要素は、最初の位置から同じ順序で追加されます。
例 1shift = 1、axes = 0 の Roll 出力:
data = [[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]]
output = [[10, 11, 12],
[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9]]例 2shift = [-1, 2]、axes = [0, 1] の Roll 出力:
data = [[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]]
output = [[ 5, 6, 4],
[ 8, 9, 7],
[11, 12, 10],
[ 2, 3, 1]]例 3shift = [1, 2, 1]、axes = [0, 1, 0] の Roll 出力:
data = [[ 1, 2, 3],
[ 4, 5, 6],
[ 7, 8, 9],
[10, 11, 12]]
output = [[ 8, 9, 7],
[11, 12, 10],
[ 2, 3, 1],
[ 5, 6, 4]]属性
利用可能な属性はありません。
入力:
1:
dataT タイプのテンソル。必須。2: T_IND_1 タイプの
shiftスカラーまたは 1D テンソル。dataテンソルの要素をシフトする桁数を指定します。shiftがスカラーの場合、axesテンソルで指定された各次元は同じshift値でロールされます。shiftが 1D テンソルの場合、axesは同じサイズの 1D テンソルである必要があり、axesテンソルの各次元はshiftテンソルの対応する値によってロールされます。shiftの値が正の場合、要素は正に (より大きなインデックスに向かって) シフトされます。それ以外の場合、要素は負の方向に (小さいインデックスに向かって) シフトされます。必須。3:
axesは T_IND_2 タイプのスカラーまたは 1D テンソルです。要素をシフトする軸を指定します。同じ軸が複数回参照される場合、その軸の合計シフトは、その軸に属するすべてのシフトの合計になります。axesが負の値の場合、軸インデックスは次の式を使用して計算されます。N_dims + axis、ここでN_dims-dataテンソル内の次元の合計数、axis- 軸テンソルからの負の軸インデックス。必須。
出力:
1:
dataテンソルと等しい形状とタイプを持つ出力テンソル。
タイプ
T: サポートされるタイプ。
T_IND_1 :
int32またはint64。T_IND_2 :
int32またはint64。
例
例 1: “shift” と “axes” は 1D テンソルです。
<layer ... type="Roll">
<input>
<port id="0">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
<port id="1">
<dim>2</dim>
</port>
<port id="2">
<dim>2</dim> <!-- 指定された軸に沿って対応するシフト値でシフト -->
</port>
</input>
<output>
<port id="0">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
</output>
</layer>例 2: “shift” 値はスカラーであり、複数の軸が指定されます。
<layer ... type="Roll">
<input>
<port id="0">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
<port id="1">
<dim>1</dim>
</port>
<port id="2">
<dim>2</dim> <!-- 指定された軸に沿って同じシフト値でシフト -->
</port>
</input>
<output>
<port id="0">
<dim>3</dim>
<dim>10</dim>
<dim>100</dim>
<dim>200</dim>
</port>
</output>
</layer>