DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC-Struktur (directml.h)
Berechnet die Quantisierungsskala und Nullpunktwerte, die zum Quantisieren des InputTensor erforderlich sind, und wendet dann diese Quantisierung an, und schreibt das Ergebnis in OutputTensor.
Dieser Operator verwendet die folgende Gleichung zum Quantisieren.
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)
Syntax
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;
};
Member
InputTensor
Typ: const DML_TENSOR_DESC*
Der Tensor, der die Eingaben enthält.
OutputTensor
Typ: const DML_TENSOR_DESC*
Der Ausgabe tensor, in den die Ergebnisse geschrieben werden sollen.
OutputScaleTensor
Typ: const DML_TENSOR_DESC*
Der Ausgabe-Tensor zum Schreiben des Ausgabeskalierungsfaktors für OutputTensor. Die erwartete Anzahl von Elementen in OutputScaleTensor ist 1.
OutputZeroPointTensor
Typ: const DML_TENSOR_DESC*
Der Ausgabe tensor zum Schreiben des Ausgabenullpunkts für OutputTensor. Die erwartete Anzahl von Elementen in OutputZeroPointTensor ist 1.
Hinweise
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_4_0 eingeführt.
Tensoreinschränkungen
- InputTensor, OutputScaleTensor, OutputTensor und OutputZeroPointTensor müssen über dieselbe DimensionCount verfügen.
- OutputTensor und OutputZeroPointTensor müssen denselben DataType aufweisen.
Tensorunterstützung
Tensor | Variante | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 1 bis 8 | FLOAT32, FLOAT16 |
OutputTensor | Ausgabe | 1 bis 8 | INT8, UINT8 |
OutputScaleTensor | Ausgabe | 1 bis 8 | FLOAT32 |
OutputZeroPointTensor | Ausgabe | 1 bis 8 | INT8, UINT8 |
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Build 22000 |
Unterstützte Mindestversion (Server) | Windows Build 22000 |
Kopfzeile | directml.h |