DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC 구조체(directml.h)
ATensor 모든 요소를 BTensor해당 요소에 추가하여 결과를 OutputTensor해당 요소에 배치합니다. ATensor 및 BTensor 포함된 값은 다음 수식을 사용하여 시한을 지정한 다음 추가 및 시한이 지정됩니다.
AValue = (A - AZeroPoint) * AScale
BValue = (B - BZeroPoint) * BScale
OutputValue = AValue + BValue
// For uint8 output, Min = 0, Max = 255
// For int8 output, Min = -128, Max = 127
OutputTensor = clamp(round(OutputValue / OutputScale) + OutputZeroPoint, Min, Max)
통사론
struct DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC {
const DML_TENSOR_DESC *ATensor;
const DML_TENSOR_DESC *AScaleTensor;
const DML_TENSOR_DESC *AZeroPointTensor;
const DML_TENSOR_DESC *BTensor;
const DML_TENSOR_DESC *BScaleTensor;
const DML_TENSOR_DESC *BZeroPointTensor;
const DML_TENSOR_DESC *OutputScaleTensor;
const DML_TENSOR_DESC *OutputZeroPointTensor;
const DML_TENSOR_DESC *OutputTensor;
};
회원
ATensor
형식: const DML_TENSOR_DESC*
왼쪽 입력을 포함하는 텐서입니다.
AScaleTensor
형식: const DML_TENSOR_DESC*
ATensor원하는 배율 인수를 포함하는 텐서입니다. AScaleTensor 예상 요소 수는 1입니다.
메모
배율 값이 0이면 정의되지 않은 동작이 발생합니다.
AZeroPointTensor
형식: _Maybenull_ const DML_TENSOR_DESC*
ATensor원하는 0점을 포함하는 텐서입니다. AZeroPointTensor 예상 요소 수는 1입니다. AZeroPointTensor 제공되지 않으면 기본값이 0인 선택적 텐서입니다.
BTensor
형식: const DML_TENSOR_DESC*
오른쪽 입력을 포함하는 텐서입니다.
BScaleTensor
형식: const DML_TENSOR_DESC*
BTensor원하는 배율 인수를 포함하는 텐서입니다. BScaleTensor 예상 요소 수는 1입니다.
메모
배율 값이 0이면 정의되지 않은 동작이 발생합니다.
BZeroPointTensor
형식: _Maybenull_ const DML_TENSOR_DESC*
BTensor원하는 0점을 포함하는 텐서입니다. BZeroPointTensor 예상 요소 수는 1입니다. BZeroPointTensor 제공되지 않으면 기본값이 0인 선택적 텐서입니다.
OutputScaleTensor
형식: const DML_TENSOR_DESC*
OutputTensor원하는 배율 인수를 포함하는 텐서입니다. 출력 값을 정량화하는 동안 사용할 출력 양자화 배율 인수를 정의하는 입력 텐서입니다. OutputScaleTensor 예상 요소 수는 1입니다.
메모
배율 값이 0이면 정의되지 않은 동작이 발생합니다.
OutputZeroPointTensor
형식: _Maybenull_ const DML_TENSOR_DESC*
OutputTensor원하는 0점을 포함하는 텐서입니다. 출력 값을 정량화하는 동안 사용할 출력 양자화 0점을 정의하는 입력 텐서입니다. OutputZeroPointTensor 예상 요소 수는 1입니다. OutputZeroPointTensor 제공되지 않으면 기본값이 0인 선택적 텐서입니다.
OutputTensor
형식: const DML_TENSOR_DESC*
결과를 쓸 출력 텐서입니다.
발언
가용도
이 연산자는 DML_FEATURE_LEVEL_4_0도입되었습니다.
Tensor 제약 조건
- AScaleTensor, ATensor, AZeroPointTensor, BScaleTensor, BTensor, BZeroPointTensor, OutputScaleTensor, OutputTensor및 OutputZeroPointTensor 동일한 DimensionCount있어야 합니다.
- BTensor 및 BZeroPointTensor 동일한 DataType있어야 합니다.
- OutputTensor 및 OutputZeroPointTensor 동일한 DataType있어야 합니다.
- ATensor 및 AZeroPointTensor 동일한 DataType있어야 합니다.
Tensor 지원
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
ATensor | 입력 | 1~8 | INT8, UINT8 |
AScaleTensor | 입력 | 1~8 | FLOAT32 |
AZeroPointTensor | 선택적 입력 | 1~8 | INT8, UINT8 |
BTensor | 입력 | 1~8 | INT8, UINT8 |
BScaleTensor | 입력 | 1~8 | FLOAT32 |
BZeroPointTensor | 선택적 입력 | 1~8 | INT8, UINT8 |
OutputScaleTensor | 입력 | 1~8 | FLOAT32 |
OutputZeroPointTensor | 선택적 입력 | 1~8 | INT8, UINT8 |
OutputTensor | 출력 | 1~8 | INT8, UINT8 |
요구 사항
요구 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 빌드 22000 |
지원되는 최소 서버 | Windows 빌드 22000 |
헤더 | directml.h |