Share via


DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC-Struktur (directml.h)

Fügt jedes Element in ATensor dem entsprechenden Element in BTensor hinzu, und platziert das Ergebnis im entsprechenden Element von OutputTensor. Werte, die in ATensor und BTensor enthalten sind, werden mithilfe der folgenden Formel dequantisiert und anschließend hinzugefügt und requantisiert.

AValue = (A - AZeroPoint) * AScale
BValue = (B - BZeroPoint) * BScale

OutputValue = AValue + BValue

// For uint8 output, Min = 0, Max = 255
// For int8 output, Min = -128, Max = 127
OutputTensor = clamp(round(OutputValue / OutputScale) + OutputZeroPoint, Min, Max)

Syntax

struct DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC {
  const DML_TENSOR_DESC *ATensor;
  const DML_TENSOR_DESC *AScaleTensor;
  const DML_TENSOR_DESC *AZeroPointTensor;
  const DML_TENSOR_DESC *BTensor;
  const DML_TENSOR_DESC *BScaleTensor;
  const DML_TENSOR_DESC *BZeroPointTensor;
  const DML_TENSOR_DESC *OutputScaleTensor;
  const DML_TENSOR_DESC *OutputZeroPointTensor;
  const DML_TENSOR_DESC *OutputTensor;
};

Member

ATensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, der die linken Eingaben enthält.

AScaleTensor

Typ: const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Skalierungsfaktor für ATensor enthält. Die erwartete Anzahl von Elementen in AScaleTensor ist 1.

AZeroPointTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Nullpunkt für ATensor enthält. Die erwartete Anzahl von Elementen in AZeroPointTensor ist 1. AZeroPointTensor ist ein optionaler Tensor, der standardmäßig 0 ist, wenn nicht angegeben.

BTensor

Typ: const DML_TENSOR_DESC*

Ein Tensor, der die rechten Eingaben enthält.

BScaleTensor

Typ: const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Skalierungsfaktor für BTensor enthält. Die erwartete Anzahl von Elementen in BScaleTensor ist 1.

BZeroPointTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Nullpunkt für BTensor enthält. Die erwartete Anzahl von Elementen in BZeroPointTensor ist 1. BZeroPointTensor ist ein optionaler Tensor, der standardmäßig 0 ist, wenn nicht angegeben.

OutputScaleTensor

Typ: const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Skalierungsfaktor für OutputTensor enthält. Dies ist ein Eingabe tensor, der den Ausgabequantisierungsskalierungsfaktor definiert, der beim Quantisieren der Ausgabewerte verwendet werden soll. Die erwartete Anzahl von Elementen in OutputScaleTensor ist 1.

OutputZeroPointTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Nullpunkt für OutputTensor enthält. Dies ist ein Eingabe tensor, der den Ausgabequantisierungs-Nullpunkt definiert, der beim Quantisieren der Ausgabewerte verwendet werden soll. Die erwartete Anzahl von Elementen in OutputZeroPointTensor ist 1. OutputZeroPointTensor ist ein optionaler Tensor, der standardmäßig 0 ist, wenn nicht angegeben.

OutputTensor

Typ: const DML_TENSOR_DESC*

Der Ausgabe tensor, in den die Ergebnisse geschrieben werden sollen.

Hinweise

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_4_0 eingeführt.

Tensoreinschränkungen

  • AScaleTensor, ATensor, AZeroPointTensor, BScaleTensor, BTensor, BZeroPointTensor, OutputScaleTensor, OutputTensor und OutputZeroPointTensor müssen dieselbe DimensionCount aufweisen.
  • BTensor und BZeroPointTensor müssen denselben Datentyp aufweisen.
  • OutputTensor und OutputZeroPointTensor müssen denselben Datentyp aufweisen.
  • ATensor und AZeroPointTensor müssen denselben Datentyp aufweisen.

Tensorunterstützung

Tensor Typ Unterstützte Dimensionsanzahl Unterstützte Datentypen
ATensor Eingabe 1 bis 8 INT8, UINT8
AScaleTensor Eingabe 1 bis 8 FLOAT32
AZeroPointTensor Optionale Eingabe 1 bis 8 INT8, UINT8
BTensor Eingabe 1 bis 8 INT8, UINT8
BScaleTensor Eingabe 1 bis 8 FLOAT32
BZeroPointTensor Optionale Eingabe 1 bis 8 INT8, UINT8
OutputScaleTensor Eingabe 1 bis 8 FLOAT32
OutputZeroPointTensor Optionale Eingabe 1 bis 8 INT8, UINT8
OutputTensor Ausgabe 1 bis 8 INT8, UINT8

Anforderungen

   
Unterstützte Mindestversion (Client) Windows Build 22000
Unterstützte Mindestversion (Server) Windows Build 22000
Kopfzeile directml.h

Weitere Informationen