Поделиться через


структура DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC (directml.h)

Выполняет следующую линейную функцию деквантизации для каждого элемента в InputTensor относительно соответствующего элемента в ScaleTensor и ZeroPointTensor, помещая результаты в соответствующий элемент OutputTensor.

f(input, scale, zero_point) = (input - zero_point) * scale

Квантизация — это распространенный способ повышения производительности за счет точности. Группу 8-разрядных значений int можно вычислить быстрее, чем группа из 32-разрядных значений с плавающей запятой. Деквантизация преобразует закодированные данные обратно в свой домен.

Синтаксис

struct DML_ELEMENT_WISE_DEQUANTIZE_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 приведет к неопределенному поведению.

Заметка

Значение шкалы 0 приводит к неопределенному поведению.

ZeroPointTensor

Тип: const DML_TENSOR_DESC*

Тензор, содержащий нулевой пункт, используемый для квантизации.

OutputTensor

Тип: const DML_TENSOR_DESC*

Выходной тензор для записи результатов.

Наличие

Этот оператор появился в DML_FEATURE_LEVEL_1_0.

Ограничения Tensor

  • InputTensor, OutputTensor, ScaleTensorScaleTensor и ZeroPointTensor должны иметь одинаковые и Размеры.
  • InputTensor и ZeroPointTensor должны иметь одинаковые DataType.
  • OutputTensor и ScaleTensor должны иметь одинаковые DataType.

Поддержка Tensor

DML_FEATURE_LEVEL_6_2 и выше

Тензор Добрый Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Ввод От 1 до 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Ввод От 1 до 8 FLOAT32, FLOAT16
ZeroPointTensor Необязательные входные данные От 1 до 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выпуск От 1 до 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_6_0 и выше

Тензор Добрый Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Ввод От 1 до 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Ввод От 1 до 8 FLOAT32, FLOAT16
ZeroPointTensor Ввод От 1 до 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выпуск От 1 до 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_3_0 и выше

Тензор Добрый Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Ввод От 1 до 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Ввод От 1 до 8 FLOAT32
ZeroPointTensor Ввод От 1 до 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выпуск От 1 до 8 FLOAT32

DML_FEATURE_LEVEL_2_1 и выше

Тензор Добрый Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Ввод 4 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Ввод 4 FLOAT32
ZeroPointTensor Ввод 4 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Выпуск 4 FLOAT32

DML_FEATURE_LEVEL_1_0 и выше

Тензор Добрый Поддерживаемые счетчики измерений Поддерживаемые типы данных
InputTensor Ввод 4 UINT8
ScaleTensor Ввод 4 FLOAT32
ZeroPointTensor Ввод 4 UINT8
OutputTensor Выпуск 4 FLOAT32

Требования

Требование Ценность
заголовка directml.h

См. также

DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC