Freigeben über


DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC Struktur (directml.h)

Fügt jedes Element in ATensor dem entsprechenden Element in BTensorhinzu, wobei das Ergebnis in das entsprechende Element von OutputTensorplatziert wird. 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;
};

Angehörige

ATensor

Typ: DML_TENSOR_DESC*

Ein Tensor, der die linksseitigen Eingaben enthält.

AScaleTensor

Typ: DML_TENSOR_DESC*

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

Anmerkung

Ein Skalierungswert von 0 führt zu einem nicht definierten Verhalten.

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 auf 0 festgelegt ist, wenn nicht angegeben.

BTensor

Typ: DML_TENSOR_DESC*

Ein Tensor, der die rechtsseitigen Eingaben enthält.

BScaleTensor

Typ: DML_TENSOR_DESC*

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

Anmerkung

Ein Skalierungswert von 0 führt zu einem nicht definierten Verhalten.

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 auf 0 festgelegt ist, wenn nicht angegeben.

OutputScaleTensor

Typ: DML_TENSOR_DESC*

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

Anmerkung

Ein Skalierungswert von 0 führt zu einem nicht definierten Verhalten.

OutputZeroPointTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Der Tensor, der den gewünschten Nullpunkt für OutputTensorenthält. Dies ist ein Eingabe-Tensor, der die Ausgabequantisierung null punkt definiert, die 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: DML_TENSOR_DESC*

Der Ausgabe-Tensor, in den die Ergebnisse geschrieben werden sollen.

Bemerkungen

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_4_0eingeführt.

Tensoreinschränkungen

  • AScaleTensor, ATensor, AZeroPointTensor, BScaleTensor, BTensor, BZeroPointTensor, OutputScaleTensor, OutputTensor-und OutputZeroPointTensor- müssen denselben DimensionCount-haben.
  • BTensor- und BZeroPointTensor- müssen denselben Datentyphaben.
  • OutputTensor- und OutputZeroPointTensor- muss denselben Datentyphaben.
  • ATensor- und AZeroPointTensor- müssen denselben DataType-aufweisen.

Tensorunterstützung

Tensor Art 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

Anforderung Wert
mindestens unterstützte Client- Windows Build 22000
mindestens unterstützte Server- Windows Build 22000
Header- directml.h

Siehe auch