Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
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 |