Freigeben über


Wenn Vorgang

Elementweise auswahl einer von zwei Eingaben, die eine Bedingung gegeben haben.

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

Parameter

  • condition: Bedingung, nach der Elementwerte ausgewählt werden
  • thenValue: Elementwert ausgewählt, wenn condition das Element nicht 0 ist
  • elseValue: Elementwert ausgewählt, wenn condition element 0 ist

Sparsewerte werden derzeit nicht unterstützt.

Rückgabewert

Ein Tensor der Dimension der Eingaben. Wenn eine der Eingaben Dimensionen von 1 hat, wird die Übertragung angewendet; in diesem Fall wird die Ausgabedimension über die entsprechenden drei Argumentedimensionen maximal.

BESCHREIBUNG

If() wählt Elemente aus zwei Eingaben basierend auf einer Bedingung in elementweise aus. Für jedes Eingabeelement, bei dem condition es sich nicht um 0 handelt, wird das entsprechende Element thenValue ausgewählt; wobei 0, wird das entsprechende elseValue Element condition ausgewählt.

Diese Funktion unterstützt die Übertragung. Beispielsweise ist es möglich, dass es sich bei der Bedingung um einen Skalar handelt, oder eine der Eingaben ein konstanter Tensor ohne Zeitdimension ist.

Beispiel

Die elementweise maximal zwei Eingaben können als Kombination von Greater() und If():

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

Dies funktioniert auch mit dem Rundfunk. Beispielsweise kann der lineare Retifier mit dieser mithilfe einer Skalarkonstante als zweite Eingabe geschrieben werden:

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