BitwiseXor¶
バージョン名: BitwiseXor-13
カテゴリー: ビット単位のバイナリー
簡単な説明: BitwiseXor は、指定された 2 つのテンソルを要素ごとにビット単位の論理 XOR 操作を実行し、多方向ブロードキャスト・ルールを適用します。
詳細な説明: 入力テンソル a と b は、形状が異なり、auto_broadcast
属性が none
でない場合、操作を実行する前にブロードキャストされます。auto_broadcast
の値に従ってブロードキャストされます。
入力テンソル a と b をブロードキャストした後、BitwiseXor は、次のアルゴリズムに基づいて、指定されたテンソル内の対応する要素ごとにビット単位の論理 XOR 操作を実行します。
boolean
タイプテンソルの場合、BitwiseXor は LogicalXor と同等です。
テンソルがサポートされている整数
タイプの場合、テンソルの各要素に対して次のようになります。
入力テンソル・データ・タイプに従って、入力テンソルの値をバイナリー表現に変換します。
a と b の値のバイナリー表現の各ビットに対して論理 XOR を実行します。値
0
はfalse
を表し、値1
はtrue
を表します。バイナリー表現の XOR の結果を入力データタイプに変換します。
例 1 - ブールテンソルの BitwiseXor 出力:
# For given boolean inputs:
a = [True, False, False]
b = [True, True, False]
# Perform logical XOR operation same as in LogicalXor operator:
output = [False, True, False]
例 2 - uint8 テンソルの BitwiseXor 出力:
# For given uint8 inputs:
a = [21, 120]
b = [3, 37]
# Create a binary representation of uint8:
# binary a: [00010101, 01111000]
# binary b: [00000011, 00100101]
# Perform bitwise XOR of corresponding elements in a and b:
# [00010110, 01011101]
# Convert binary values to uint8:
output = [22, 93]
属性:
-
auto_broadcast
説明: 入力テンソルの自動ブロードキャストに使用されるルールを指定します。
-
値の範囲:
なし - 自動ブロードキャストは許可されません。すべての入力形状が一致する必要があります。
numpy - numpy ブロードキャスト・ルール。説明は要素ごとの操作のブロードキャスト・ルールで参照できます。
pdpd - PaddlePaddle スタイルの暗黙的ブロードキャストの説明は、要素ごとの操作のブロードキャスト・ルールで参照できます。
タイプ: 文字列
デフォルト値: “numpy”
必須: いいえ
入力:
1: タイプ T の任意の形状のテンソル。必須。
2: タイプ T の任意の形状のテンソル。必須。
出力:
1: 要素ごとの BitwiseXor 操作の結果。タイプ T のテンソルで、2 つの入力のブロードキャストされた形状と同じ形状です。
タイプ:
T: サポートされている整数タイプまたはブールタイプ。
例:
例 1 - ブロードキャストなし
<layer ... type="BitwiseXor">
<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="BitwiseXor">
<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>