다음을 통해 공유


DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC 구조체(directml.h)

ATensor 모든 요소를 BTensor해당 요소에 추가하여 결과를 OutputTensor해당 요소에 배치합니다. ATensorBTensor 포함된 값은 다음 수식을 사용하여 시한을 지정한 다음 추가 및 시한이 지정됩니다.

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, OutputTensorOutputZeroPointTensor 동일한 DimensionCount있어야 합니다.
  • BTensorBZeroPointTensor 동일한 DataType있어야 합니다.
  • OutputTensorOutputZeroPointTensor 동일한 DataType있어야 합니다.
  • ATensorAZeroPointTensor 동일한 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

참고 항목