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 sicondition
el elemento no es 0elseValue
: valor de elemento seleccionado sicondition
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))