Если операция
Элементная выборка одного из двух входных данных с учетом условия.
BS.Boolean.If (condition, thenValue, elseValue)
Параметры
condition
: условие, в соответствии с которым выбраны значения элементовthenValue
: значение элемента, выбранное, еслиcondition
элемент не равен 0elseValue
: значение элемента, выбранное, еслиcondition
элемент равен 0
Разреженные значения в настоящее время не поддерживаются.
Возвращаемое значение
Тензор измерения входных данных. Если какой-либо из входных данных имеет размеры 1, применяется трансляция; в этом случае выходное измерение становится максимальным по сравнению с соответствующими тремя измерениями аргументов.
Описание
If()
выбирает элементы из двух входных данных на основе условия в порядочном режиме.
Для каждого входного элемента, из которого condition
не задано значение 0, выбирается соответствующий элемент thenValue
, а где condition
— 0, выбирается соответствующий elseValue
элемент.
Эта функция поддерживает трансляцию. Например, можно предположить, что условие является скалярным или одним из входных данных является константный тензор без измерения времени.
Пример
Максимальное число элементов двух входных данных можно вычислить в виде сочетания Greater()
и If()
:
MyElementwiseMax (a, b) = BS.Boolean.If (Greater (a, b), a, b)
Это также работает с вещанием. Например, линейный прямоугольник можно записать с помощью скалярной константы в качестве второго входного ввода:
MyReLU (x) = MyElementwiseMax (x, Constant(0))