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 |