DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC结构 (directml.h)

InputTensor 中每个元素执行以下线性量子化函数,使其在 scaleTensor 中对应元素,ZeroPointTensor中,将结果置于 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 会导致未定义的行为。

如果 InputTensorINT32,则必须 FLOAT32ScaleTensor。 否则,ScaleTensor 必须与 InputTensor具有相同的 DataType

ZeroPointTensor

类型:const DML_TENSOR_DESC*

包含量化所需的零点的张量。

OutputTensor

类型:const DML_TENSOR_DESC*

要向其写入结果的输出张量。

可用性

此运算符是在 DML_FEATURE_LEVEL_1_0中引入的。

Tensor 约束

  • InputTensorOutputTensorScaleTensorZeroPointTensor 必须具有相同 的 DimensionCount大小
  • OutputTensorZeroPointTensor 必须具有相同的 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

另请参阅

DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC