FloorMod¶
バージョン名: FloorMod-1
カテゴリー: 算術単項演算
簡単な説明: FloorMod は、auto_broadcast 属性で指定されたブロードキャスト・ルールを適用する 2 つの指定されたテンソルを使用して、要素ごとの floor 操作を実行します。
詳細な説明: 最初のステップとして、入力テンソル a と b は、形状が異なる場合にブロードキャストされます。auto_broadcast 属性の指定に従ってブロードキャストされます。2 番目のステップとして、以下の式に従って、入力テンソル a と b に対して FloorMod 操作が要素ごとに計算されます。
\[o_{i} = a_{i} \mod b_{i}\]
FloorMod 操作は、フロア分割の余剰を計算します。これは、Python プログラミング言語と同じ動作です。
\[(floor(x / y) * y + floor\_mod(x, y) = x)\]
結果の符号は除数の符号と等しくなります。ゼロ除算の結果は不定です。
属性:
-
auto_broadcast
説明: 入力テンソルの自動ブロードキャストに使用されるルールを指定します。
-
値の範囲:
なし - 自動ブロードキャストは許可されません。すべての入力形状が一致する必要があります。
numpy - numpy ブロードキャスト・ルール。説明は要素ごとの操作のブロードキャスト・ルールで参照できます。
タイプ: 文字列
デフォルト値: “numpy”
必須: いいえ
入力:
1: タイプ T の任意の形状のテンソル。必須。
2: タイプ T の任意の形状のテンソル。必須。
出力:
1: 要素ごとの floor modulo 操作の結果。2 つの入力のブロードキャストされた形状と等しい形状を持つ T タイプのテンソル。
タイプ:
T: 任意の数値タイプ。
例:
例 1 - ブロードキャストなし
<layer ... type="FloorMod">
<data auto_broadcast="none"/>
<input>
<port id="0">
<dim>256</dim>
<dim>56</dim>
</port>
<port id="1">
<dim>256</dim>
<dim>56</dim>
</port>
</input>
<output>
<port id="2">
<dim>256</dim>
<dim>56</dim>
</port>
</output>
</layer>
例 2: numpy ブロードキャスト
<layer ... type="FloorMod">
<data auto_broadcast="numpy"/>
<input>
<port id="0">
<dim>8</dim>
<dim>1</dim>
<dim>6</dim>
<dim>1</dim>
</port>
<port id="1">
<dim>7</dim>
<dim>1</dim>
<dim>5</dim>
</port>
</input>
<output>
<port id="2">
<dim>8</dim>
<dim>7</dim>
<dim>6</dim>
<dim>5</dim>
</port>
</output>
</layer>