Share via


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

Weitere Informationen