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、ScaleTensor,ZeroPointTensor 必须具有相同 的 DimensionCount 和 大小。
- 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 |