OneHot¶
バージョン名: OneHot-1
カテゴリー: シーケンス処理
簡単な説明: OneHot は、指定されたインデックスを持つ出力テンソルの要素を on_value
に設定し、他のすべての位置を off_value
で埋めます。
詳細説明:
OneHot は、最初の入力 indices
としてランク N
のテンソルを取得し、軸位置の新しい次元で元のテンソルを拡張してランク N+1
のテンソルを生成します。出力テンソルには、3 番目の入力からの on_value
と 4 番目の入力からの off_value
の 2 つのスカラー値が入力されます。総数は次のようにして作成されます。
output[:, ... ,:, i, :, ... ,:] = on_value if (indices[:, ..., :, :, ..., :] == i) else off_value
ここで、i
は output
形状の axis
位置にあり、[0, ..., depth-1]
の範囲の値を保持します。
indices
の一部の要素が depth
以上である場合、それは適切な形式の操作です。この場合、対応する出力行には off_value
が設定されます。
入力スカラーの on_value
と off_value
のタイプは、サポートされているタイプと一致し等しくなければなりません。出力テンソルのタイプは on_value
または off_value
から派生し、すべて同じタイプを持ちます。
属性:
-
axis
説明: axis は、ワンホット値を入力する出力形状内の新しい軸の位置です。
値の範囲: 整数。負の値は、次元を端から数えることを意味します。
タイプ:
int
必須: はい
入力:
1:
indices
: 負ではないインデックスを持つ T1 タイプの入力テンソル、負のインデックスの動作は未定義です。0D でも構いません。必須。2:
depth
: クラスの数、つまりワンホット次元のサイズを指定する T1 タイプの正のスカラー (0D テンソル)。必須。3:
on_value
:indices
で指定された出力テンソルの位置を埋める T2 タイプのスカラー (0D テンソル)。必須。4:
off_value
:indices
で表されない位置を埋める T2 タイプのスカラー (0D テンソル)。必須。
出力:
1: T2 タイプの
N+1
ランクのテンソル。N
は入力テンソルindices
のランクです。サイズdepth
の新しい軸が次元axis
に挿入されます。
タイプ:
T1:
int32
またはint64
。T2: サポートされている任意のデータタイプ。
例:
<layer ... type="OneHot" ...>
<data axis="-1"/>
<input>
<port id="0"> <!-- indices value: [0, 3, 1, 2] -->
<dim>4</dim>
</port>
<port id="1"> <!-- depth value: 3 -->
</port>
<port id="2"> <!-- on_value 1 -->
</port>
<port id="3"> <!-- off_value 2 -->
</port>
</input>
<output>
<port id="0"> <!-- output value # [[1, 2, 2], [2, 2, 2], [2, 1, 2], [2, 2, 1]] -->
<dim>4</dim>
<dim>3</dim>
</port>
</output>
</layer>
<layer ... type="OneHot" ...>
<data axis="1"/>
<input>
<port id="0"> <!-- indices value: [[0, 3, 1], [1, 2, 4]] -->
<dim>2</dim>
<dim>3</dim>
</port>
<port id="1"> <!-- depth value: 3 -->
</port>
<port id="2"> <!-- on_value 1 -->
</port>
<port id="3"> <!-- off_value 0 -->
</port>
</input>
<output>
<port id="0"> <!-- output value: [[[1, 0, 0], [0, 0, 1], [0, 0, 0]], -->
<dim>2</dim> <!-- [[0, 0, 0], [1, 0, 0], [0, 1, 0]]] -->
<dim>3</dim>
<dim>3</dim>
</port>
</output>
</layer>