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 elementosthenValue
: valor do elemento selecionado secondition
o elemento não for 0elseValue
: valor do elemento selecionado secondition
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))