DML_ELEMENT_WISE_IF_OPERATOR_DESC 구조체(directml.h)
ConditionTensor의 해당 요소 값에 따라 ATensor 또는 BTensor에서 요소를 선택합니다. ConditionTensor의 0이 아닌 요소는 ATensor에서 선택하고 값이 0인 요소는 BTensor에서 선택합니다.
f(cond, a, b) = a, if cond != 0
b, otherwise
Example:
[[1, 0], [1, 1]] // ConditionTensor
[[1, 2], [3, 4]] // ATensor
[[9, 8], [7, 6]] // BTensor
[[1, 8], [3, 4]] // Output
구문
struct DML_ELEMENT_WISE_IF_OPERATOR_DESC {
const DML_TENSOR_DESC *ConditionTensor;
const DML_TENSOR_DESC *ATensor;
const DML_TENSOR_DESC *BTensor;
const DML_TENSOR_DESC *OutputTensor;
};
멤버
ConditionTensor
형식: const DML_TENSOR_DESC*
읽을 조건 텐서입니다.
ATensor
형식: const DML_TENSOR_DESC*
왼쪽 입력을 포함하는 텐서입니다.
BTensor
형식: const DML_TENSOR_DESC*
오른쪽 입력을 포함하는 텐서입니다.
OutputTensor
형식: const DML_TENSOR_DESC*
결과를 쓸 출력 텐서입니다.
설명
LeakyRelu와 같은 다른 집계 연산자를 기능적으로 빌드하는 데 사용할 수 있습니다. 다음은 의사 코드의 그림입니다(가장 효율적인 방법은 아니지만 가능 LeakyRelu(x) = If(Less(x, 0), Mul(x, alpha), x)
).
가용성
이 연산자는 에서 DML_FEATURE_LEVEL_2_0
도입되었습니다.
텐서 제약 조건
- ATensor, BTensor, ConditionTensor 및 OutputTensor 에는 동일한 DimensionCount 및 Size가 있어야 합니다.
- ATensor, BTensor 및 OutputTensor 에는 동일한 DataType이 있어야 합니다.
텐서 지원
DML_FEATURE_LEVEL_5_0 이상
텐서 | Kind | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
ConditionTensor | 입력 | 1-8 | UINT8 |
ATensor | 입력 | 1-8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
BTensor | 입력 | 1-8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputTensor | 출력 | 1-8 | FLOAT64, FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_3_0 이상
텐서 | Kind | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
ConditionTensor | 입력 | 1-8 | UINT8 |
ATensor | 입력 | 1-8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
BTensor | 입력 | 1-8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | 출력 | 1-8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_2_0 이상
텐서 | Kind | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
ConditionTensor | 입력 | 4 | UINT8 |
ATensor | 입력 | 4 | FLOAT16 |
BTensor | 입력 | 4 | FLOAT16 |
OutputTensor | 출력 | 4 | FLOAT16 |
요구 사항
지원되는 최소 클라이언트 | Windows 10 버전 2004(10.0; 빌드 19041) |
지원되는 최소 서버 | Windows Server 버전 2004(10.0; 빌드 19041) |
머리글 | directml.h |