структура DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC (directml.h)
Вычисляет шкалу квантования и значения нулевой точки, необходимые для квантования InputTensor, а затем применяет это квантование, записывая результат в OutputTensor.
Этот оператор использует следующее уравнение для квантования.
InputMax = Max(InputTensor)
InputMin = Min(InputTensor)
AValue = (A - AZeroPoint) * AScale
BValue = (B - BZeroPoint) * BScale
// For uint8 output, Min = 0, Max = 255
// For int8 output, Min = -128, Max = 127
OutputScale = (InputMax – InputMin) / (Max – Min)
OutputZeroPoint = Min - InputMin / OutputScale
OutputTensor = clamp(round(InputValue / OutputScale) + OutputZeroPoint, Min, Max)
struct DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
const DML_TENSOR_DESC *OutputScaleTensor;
const DML_TENSOR_DESC *OutputZeroPointTensor;
};
InputTensor
Тип: const DML_TENSOR_DESC*
Тензор, содержащий входные данные.
OutputTensor
Тип: const DML_TENSOR_DESC*
Выходной тензор для записи результатов.
OutputScaleTensor
Тип: const DML_TENSOR_DESC*
Выходной тензор для записи выходного коэффициента масштабирования для OutputTensor. Ожидаемое количество элементов в OutputScaleTensor равно 1.
OutputZeroPointTensor
Тип: const DML_TENSOR_DESC*
Выходной тензор для записи нулевой точки вывода для OutputTensor. Ожидаемое число элементов в OutputZeroPointTensor равно 1.
Этот оператор появился в DML_FEATURE_LEVEL_4_0.
- InputTensor, OutputScaleTensor, OutputTensor и OutputZeroPointTensor должны иметь один и тот же dimensionCount.
- OutputTensor и OutputZeroPointTensor должны иметь один и тот же тип DataType.
Тензор | Kind | Поддерживаемые счетчики измерений | Поддерживаемые типы данных |
---|---|---|---|
InputTensor | Входные данные | От 1 до 8 | FLOAT32, FLOAT16 |
OutputTensor | Выходные данные | От 1 до 8 | INT8, UINT8 |
OutputScaleTensor | Выходные данные | От 1 до 8 | FLOAT32 |
OutputZeroPointTensor | Выходные данные | От 1 до 8 | INT8, UINT8 |
Требование | Значение |
---|---|
Минимальная версия клиента | Сборка Windows 22000 |
Минимальная версия сервера | Сборка Windows 22000 |
Верхняя часть | directml.h |