DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC 結構 (directml.h)
在
// 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 條件約束
- 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 |