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