DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC 구조체(directml.h)
ScaleTensor 및 ZeroPointTensor해당 요소와 관련하여 InputTensor 모든 요소에 대해 다음 선형 양자화 함수를 수행하여 결과를 OutputTensor해당 요소에 배치합니다.
// For uint8 output, Min = 0, Max = 255
// For int8 output, Min = -128, Max = 127
f(input, scale, zero_point) = clamp(round(input / scale) + zero_point, Min, Max)
수량화에는 산술을 가속화하기 위해 저정밀도 데이터 형식으로 변환하는 작업이 포함됩니다. 정밀도의 비용으로 성능을 향상시키는 일반적인 방법입니다. 8비트 값 그룹은 32비트 값 그룹보다 빠르게 계산할 수 있습니다.
통사론
struct DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ScaleTensor;
const DML_TENSOR_DESC *ZeroPointTensor;
const DML_TENSOR_DESC *OutputTensor;
};
회원
InputTensor
형식: const DML_TENSOR_DESC*
입력을 포함하는 텐서입니다.
ScaleTensor
형식: const DML_TENSOR_DESC*
눈금을 포함하는 텐서입니다.
메모
배율 값이 0이면 정의되지 않은 동작이 발생합니다.
ZeroPointTensor
형식: const DML_TENSOR_DESC*
정량화에 필요한 0포인트를 포함하는 텐서입니다.
OutputTensor
형식: const DML_TENSOR_DESC*
결과를 쓸 출력 텐서입니다.
가용도
이 연산자는 DML_FEATURE_LEVEL_1_0
도입되었습니다.
Tensor 제약 조건
- InputTensor, OutputTensor, ScaleTensor및 ZeroPointTensor 동일한 DimensionCount 및 크기있어야 합니다.
- OutputTensor 및 ZeroPointTensor 동일한 DataType있어야 합니다.
Tensor 지원
DML_FEATURE_LEVEL_6_2 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 1~8 | FLOAT32, FLOAT16, INT32 |
ScaleTensor | 입력 | 1~8 | FLOAT32, FLOAT16 |
ZeroPointTensor | 선택적 입력 | 1~8 | INT8, UINT8 |
OutputTensor | 출력 | 1~8 | INT8, UINT8 |
DML_FEATURE_LEVEL_6_0 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 1~8 | FLOAT32, FLOAT16, INT32 |
ScaleTensor | 입력 | 1~8 | FLOAT32, FLOAT16 |
ZeroPointTensor | 입력 | 1~8 | INT8, UINT8 |
OutputTensor | 출력 | 1~8 | INT8, UINT8 |
DML_FEATURE_LEVEL_3_0 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 1~8 | FLOAT32, INT32 |
ScaleTensor | 입력 | 1~8 | FLOAT32 |
ZeroPointTensor | 입력 | 1~8 | INT8, UINT8 |
OutputTensor | 출력 | 1~8 | INT8, UINT8 |
DML_FEATURE_LEVEL_2_1 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 4 | FLOAT32, INT32 |
ScaleTensor | 입력 | 4 | FLOAT32 |
ZeroPointTensor | 입력 | 4 | INT8, UINT8 |
OutputTensor | 출력 | 4 | INT8, UINT8 |
DML_FEATURE_LEVEL_1_0 이상
텐서 | 종류 | 지원되는 차원 수 | 지원되는 데이터 형식 |
---|---|---|---|
InputTensor | 입력 | 4 | FLOAT32 |
ScaleTensor | 입력 | 4 | FLOAT32 |
ZeroPointTensor | 입력 | 4 | UINT8 |
OutputTensor | 출력 | 4 | UINT8 |
요구 사항
요구 | 값 |
---|---|
헤더 | directml.h |