Delen via


If-bewerking

Elementwise het selecteren van een van de twee invoerwaarden op basis van een voorwaarde.

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

Parameters

  • condition: voorwaarde volgens welke elementwaarden zijn geselecteerd
  • thenValue: elementwaarde geselecteerd als condition element niet 0 is
  • elseValue: elementwaarde geselecteerd als condition element 0 is

Sparse-waarden worden momenteel niet ondersteund.

Retourwaarde

Een tensor van de dimensie van de invoer. Als een van de invoer dimensies van 1 heeft, wordt uitzending toegepast; In dat geval wordt de uitvoerdimensie het maximum boven de bijbehorende dimensies van drie argumenten.

Description

If() selecteert elementen uit twee invoerwaarden op basis van een voorwaarde, op een elementgewijze manier. Voor elk invoerelement waarvan condition het niet-0 is, wordt het bijbehorende element gekozen thenValue ; en waar condition is 0, wordt het bijbehorende elseValue element gekozen.

Deze functie ondersteunt uitzending. Het is bijvoorbeeld mogelijk dat de voorwaarde een scalaire waarde is of dat een van de invoerwaarden een constante tensor zonder tijddimensie is.

Voorbeeld

Het elementgewijze maximum van twee invoer kan worden berekend als een combinatie van Greater() en If():

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

Dit werkt ook met uitzenden. De lineaire gelijkrichter kan bijvoorbeeld worden geschreven met behulp van een scalaire constante als de tweede invoer:

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