Partager via


Si l’opération

Sélection d’un élément d’une des deux entrées en fonction d’une condition.

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

Paramètres

  • condition: condition selon laquelle les valeurs d’élément sont sélectionnées
  • thenValue: valeur d’élément sélectionnée si condition l’élément n’est pas 0
  • elseValue: valeur d’élément sélectionnée si condition l’élément est 0

Actuellement, les valeurs éparses ne sont pas prises en charge.

Valeur renvoyée

Un tenseur de la dimension des entrées. Si l’une des entrées a des dimensions 1, la diffusion est appliquée ; dans ce cas, la dimension de sortie devient la valeur maximale sur les dimensions des trois arguments correspondants.

Description

If() sélectionne les éléments de deux entrées en fonction d’une condition, dans le sens des éléments. Pour chaque élément d’entrée qui condition n’est pas 0, l’élément thenValue correspondant est choisi ; et où condition il est 0, l’élément correspondant elseValue est choisi.

Cette fonction prend en charge la diffusion. Par exemple, il est possible que la condition soit scalaire ou que l’une des entrées soit un tenseur constant sans dimension temporelle.

Exemple

Le maximum d’éléments de deux entrées peut être calculé en tant que combinaison et Greater()If():

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

Cela fonctionne également avec la diffusion. Par exemple, le redresseur linéaire peut être écrit à l’aide d’une constante scalaire comme deuxième entrée :

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