StridedSlice¶
バージョン名: StridedSlice-1
カテゴリー: データ移動
簡単な説明: StridedSlice は、テンソルのストライドスライスを抽出します。
属性:
-
begin_mask
説明: begin_mask はビット・マスクです。begin_mask[i] が
1
に等しい場合は、begin
入力の対応する次元が無視され、テンソルの ‘実際’ の始まりが対応する次元に沿って使用されることを意味します。値の範囲:
0
と1
のリストタイプ:
int[]
デフォルト値: なし
必須: はい
-
end_mask
説明: end_mask はビット・マスクです。end_mask[i] が
1
の場合、end
入力の対応する次元は無視され、テンソルの実際の ‘終了’ が対応する次元に沿って使用されます。値の範囲:
0
と1
のリストタイプ:
int[]
デフォルト値: なし
必須: はい
-
new_axis_mask
説明: new_axis_mask はビット・マスクです。If new_axis_mask[i] が
1
の場合、長さ 1 次元が入力テンソルのi
番目の位置に挿入されます。値の範囲:
0
と1
のリストタイプ:
int[]
デフォルト値:
[0]
必須: いいえ
-
shrink_axis_mask
説明: shrink_axis_mask はビット・マスクです。shrink_axis_mask[i] が
1
の場合、i
番目の位置の次元が削除されます。値の範囲:
0
と1
のリストタイプ:
int[]
デフォルト値:
[0]
必須: いいえ
-
ellipsis_mask
説明: ellipsis_mask はビット・マスクです。欠落している次元をゼロ以外のビットの位置に挿入します。
値の範囲:
0
と1
のリスト。ゼロ以外のビットは 1 つだけ許可されます。タイプ:
int[]
デフォルト値:
[0]
必須: いいえ
入力:
1:
data
- スライスされるタイプ T および任意の形状の入力テンソル。必須。-
2:
begin
- 入力テンソルスライスの開始インデックスを持つ T_IND タイプの 1D テンソル。必須。 範囲外の値は黙ってクランプされます。begin_mask[i]
が1
の場合、begin[i]
の値は無視され、適切な次元の範囲は0
から始まります。負の値は、インデックス作成が最後から開始されることを意味します。例えば、data=[1,2,3]
の場合、begin[0]=-1
はbegin[0]=3
を意味します。 -
3:
end
- 入力テンソルスライスの終了インデックスを持つ T_IND タイプの 1D テンソル。必須。 範囲外の値は警告なしにクランプされます。end_mask[i]
が1
の場合、end[i]
の値は無視され、代わりに適切な次元の全範囲が使用されます。負の値は、インデックス作成が最後から開始されることを意味します。例えば、data=[1,2,3]
の場合、end[0]=-1
はend[0]=3
を意味します。 4:
stride
- ストライドを持つ T_IND タイプの 1D テンソル。オプション。
タイプ:
T: サポートされるタイプ。
T_IND: サポートされている整数タイプ。
例:
begin_mask
& end_mask
の使用例。
<layer ... type="StridedSlice" ...>
<data begin_mask="0,1,1" ellipsis_mask="0,0,0" end_mask="1,1,0" new_axis_mask="0,0,0" shrink_axis_mask="0,0,0"/>
<input>
<port id="0">
<dim>2</dim>
<dim>3</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>2</dim> <!-- begin: [1, 0, 0] -->
</port>
<port id="2">
<dim>2</dim> <!-- end: [0, 0, 2] -->
</port>
<port id="3">
<dim>2</dim> <!-- stride: [1, 1, 1] -->
</port>
</input>
<output>
<port id="4">
<dim>1</dim>
<dim>3</dim>
<dim>2</dim>
</port>
</output>
</layer>
new_axis_mask
の使用例。
<layer ... type="StridedSlice" ...>
<data begin_mask="0,1,1" ellipsis_mask="0,0,0" end_mask="0,1,1" new_axis_mask="1,0,0" shrink_axis_mask="0,0,0"/>
<input>
<port id="0">
<dim>2</dim>
<dim>3</dim>
<dim>4</dim>
</port>
<port id="1">
<dim>2</dim>
</port>
<port id="2">
<dim>2</dim>
</port>
<port id="3">
<dim>2</dim>
</port>
</input>
<output>
<port id="4">
<dim>1</dim>
<dim>2</dim>
<dim>3</dim>
<dim>4</dim>
</port>
</output>
</layer>
shrink_axis_mask
の使用例。
<layer ... type="StridedSlice" ...>
<data begin_mask="1,0,1,1,1" ellipsis_mask="0,0,0,0,0" end_mask="1,0,1,1,1" new_axis_mask="0,0,0,0,0" shrink_axis_mask="0,1,0,0,0"/>
<input>
<port id="0">
<dim>1</dim>
<dim>2</dim>
<dim>384</dim>
<dim>640</dim>
<dim>8</dim>
</port>
<port id="1">
<dim>5</dim>
</port>
<port id="2">
<dim>5</dim>
</port>
<port id="3">
<dim>5</dim>
</port>
</input>
<output>
<port id="4">
<dim>1</dim>
<dim>384</dim>
<dim>640</dim>
<dim>8</dim>
</port>
</output>
</layer>