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ówthenValue
: wartość elementu wybrana, jeślicondition
element nie ma wartości 0elseValue
: wartość elementu wybrana, jeślicondition
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))