次の方法で共有


操作の場合

条件が与えられた 2 つの入力のいずれかから要素ごとの選択。

BS.Boolean.If (condition, thenValue, elseValue)

パラメーター

  • condition: どの要素値が選択されているかに応じた条件
  • thenValue: 要素が 0 でない場合 condition に選択された要素値
  • elseValue: 要素が 0 の場合に condition 選択された要素値

スパース値は現在サポートされていません。

戻り値

入力の次元のテンソル。 いずれかの入力の次元が 1 の場合、ブロードキャストが適用されます。その場合、出力ディメンションは、対応する 3 つの引数のディメンションの最大値になります。

説明

If() は、条件に基づいて 2 つの入力から要素を要素単位で選択します。 0 以外の入力要素 condition ごとに、対応する要素が thenValue 選択され、場所 condition が 0 の場合は、対応する elseValue 要素が選択されます。

この関数は、ブロードキャストをサポートしています。 たとえば、条件がスカラーであるか、入力の 1 つが時間ディメンションのない定数テンソルである可能性があります。

要素ごとの最大 2 つの入力は、次の組み合わせGreater()If()として計算できます。

MyElementwiseMax (a, b) = BS.Boolean.If (Greater (a, b), a, b)

これは放送でも機能します。 たとえば、線形整流器は、2 番目の入力としてスカラー定数を使用して、これを使用して書き込むことができます。

MyReLU (x) = MyElementwiseMax (x, Constant(0))