다음을 통해 공유


If 작업

조건이 지정된 두 입력 중 하나를 요소로 선택합니다.

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

매개 변수

  • condition: 선택한 요소 값에 따른 조건
  • thenValue: 요소가 0이 아닌 경우 condition 선택한 요소 값
  • elseValue: 요소가 0인 경우 condition 선택한 요소 값

스파스 값은 현재 지원되지 않습니다.

반환 값

입력 차원의 텐서입니다. 입력의 크기가 1이면 브로드캐스트가 적용됩니다. 이 경우 출력 차원은 해당 세 인수의 차원에 대한 최대값이 됩니다.

Description

If() 는 조건에 따라 두 입력에서 요소를 요소 방식으로 선택합니다. 0이 아닌 모든 입력 요소 conditionthenValue 대해 해당 요소가 선택되고 여기서 condition 0이면 해당 elseValue 요소가 선택됩니다.

이 함수는 브로드캐스트를 지원합니다. 예를 들어 조건이 스칼라이거나 입력 중 하나가 시간 차원이 없는 상수 텐서일 수 있습니다.

예제

요소별 최대 두 입력은 다음과 같은 조합 Greater()If()으로 계산할 수 있습니다.

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

이는 브로드캐스트에서도 작동합니다. 예를 들어 두 번째 입력으로 스칼라 상수로 선형 정사각형을 작성할 수 있습니다.

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