Compartir a través de


Operación If

Selección de elemento de una de las dos entradas dada una condición.

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

Parámetros

  • condition: condición según los valores de elemento seleccionados.
  • thenValue: valor de elemento seleccionado si condition el elemento no es 0
  • elseValue: valor de elemento seleccionado si condition el elemento es 0

Actualmente no se admiten valores dispersos.

Valor devuelto

Tensor de la dimensión de las entradas. Si alguna de las entradas tiene dimensiones de 1, se aplica la difusión; en ese caso, la dimensión de salida se convierte en el máximo sobre las tres dimensiones de los tres argumentos correspondientes.

Descripción

If() selecciona los elementos de dos entradas en función de una condición, de forma elementwise. Para cada elemento de entrada donde condition no es 0, se elige el elemento correspondiente de thenValue ; y donde condition es 0, se elige el elemento correspondiente elseValue .

Esta función admite la difusión. Por ejemplo, es posible que la condición sea escalar o que una de las entradas sea un tensor constante sin dimensión de tiempo.

Ejemplo

El máximo del elemento de dos entradas se puede calcular como una combinación de Greater() y If():

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

Esto también funciona con la difusión. Por ejemplo, el rectificador lineal se puede escribir con esto mediante una constante escalar como la segunda entrada:

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