Udostępnij za pośrednictwem


Jeśli operacja

Wybranie elementu jednego z dwóch danych wejściowych z warunkiem.

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

Parametry

  • condition: warunek zgodnie z wybranymi wartościami elementów
  • thenValue: wartość elementu wybrana, jeśli condition element nie ma wartości 0
  • elseValue: wartość elementu wybrana, jeśli condition element ma wartość 0

Wartości rozrzedne nie są obecnie obsługiwane.

Wartość zwracana

Tensor wymiaru danych wejściowych. Jeśli którykolwiek z danych wejściowych ma wymiary 1, emisja jest stosowana; w takim przypadku wymiar wyjściowy staje się maksymalnym rozmiarem odpowiadających im wymiarów trzech argumentów.

Opis

If() wybiera elementy z dwóch danych wejściowych na podstawie warunku w sposób elementowy. Dla każdego elementu wejściowego, w którym condition jest inny niż 0, odpowiedni element z thenValue jest wybierany, a gdzie condition jest 0, odpowiedni elseValue element jest wybierany.

Ta funkcja obsługuje nadawanie. Na przykład istnieje możliwość, że warunek jest skalarny lub jeden z danych wejściowych jest stałym tensorem bez wymiaru czasu.

Przykład

Maksymalnie dwa dane wejściowe można obliczyć jako kombinację Greater() elementów i If():

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

Działa to również z emisją. Na przykład prostownik liniowy można napisać z tym użyciem stałej skalarnej jako drugiego wejściowego:

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