Sdílet prostřednictvím


Pokud operace

Prvek po výběru jednoho ze dvou vstupů zadanou podmínkou

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

Parametry

  • condition: podmínka podle toho, které hodnoty prvků jsou vybrány
  • thenValue: hodnota prvku vybraná, pokud condition prvek není 0
  • elseValue: hodnota prvku vybraná, pokud condition je element 0

Řídké hodnoty se v současné době nepodporují.

Návratová hodnota

Tensor dimenze vstupů. Pokud některý ze vstupů má rozměry 1, použije se vysílání; v takovém případě se výstupní dimenze změní na maximum nad odpovídajícími třemi dimenzemi argumentů.

Description

If() vybere prvky ze dvou vstupů na základě podmínky, a to v elementu. Pro každý vstupní prvek, kde condition není 0, je vybrán odpovídající prvek z thenValue ; a kde condition je 0, je vybrán odpovídající elseValue prvek.

Tato funkce podporuje vysílání. Je například možné, že podmínka je skalární nebo jeden ze vstupů je konstantní tensor bez časového rozměru.

Příklad

Elementwise maximum dvou vstupů lze vypočítat jako kombinaci Greater() a If():

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

To také funguje se vysíláním. Lineární usměrňovač lze například zapsat pomocí skalární konstanty jako druhého vstupu:

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