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éesthenValue
: valeur d’élément sélectionnée sicondition
l’élément n’est pas 0elseValue
: valeur d’élément sélectionnée sicondition
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))