Partilhar via


Se operação

Seleção elementar de uma de duas entradas dada uma condição.

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

Parâmetros

  • condition: condição em conformidade com a seleção dos valores dos elementos
  • thenValue: valor do elemento selecionado se condition o elemento não for 0
  • elseValue: valor do elemento selecionado se condition o elemento for 0

Atualmente, os valores escassos não são suportados.

Devolver Valor

Um tensor da dimensão das entradas. Se alguma das entradas tiver dimensões de 1, a radiodifusão é aplicada; nesse caso, a dimensão de saída torna-se a máxima sobre as dimensões dos três argumentos correspondentes.

Description

If() seleciona elementos de duas entradas com base numa condição, de forma elementar. Para cada elemento de entrada onde condition não é 0, o elemento thenValue correspondente é escolhido; e onde condition está 0, o elemento correspondente elseValue é escolhido.

Esta função suporta a transmissão. Por exemplo, é possível que a condição seja um escalar, ou uma das entradas é um tensor constante sem dimensão temporal.

Exemplo

O limite elementar de duas entradas pode ser calculado como uma combinação deGreater():If()

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

Isto também funciona com a radiodifusão. Por exemplo, o retificador linear pode ser escrito com isto usando uma constante escalar como a segunda entrada:

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