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 |