DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC Struktur (directml.h)
Führt die folgende lineare Dequantisierungsfunktion für jedes Element in InputTensor in Bezug auf das entsprechende Element in ScaleTensor und ZeroPointTensor
aus, wobei die Ergebnisse im entsprechenden Element von OutputTensorplatziert werden.
f(input, scale, zero_point) = (input - zero_point) * scale
Die Quantisierung ist eine gängige Methode, um die Leistung bei den Kosten der Präzision zu steigern. Eine Gruppe von 8-Bit-Int-Werten kann schneller berechnet werden, als eine Gruppe von 32-Bit-Float-Werten kann. Durch die Dequantisierung werden die codierten Daten wieder in ihre Domäne konvertiert.
Syntax
struct DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ScaleTensor;
const DML_TENSOR_DESC *ZeroPointTensor;
const DML_TENSOR_DESC *OutputTensor;
};
Angehörige
InputTensor
Typ: DML_TENSOR_DESC*
Der Tensor, der die Eingaben enthält.
ScaleTensor
Typ: DML_TENSOR_DESC*
Der Tensor, der die Skalen enthält. Ein Skalierungswert von 0 führt zu einem nicht definierten Verhalten.
Anmerkung
Ein Skalierungswert von 0 führt zu einem nicht definierten Verhalten.
ZeroPointTensor
Typ: DML_TENSOR_DESC*
Der Tensor, der den Nullpunkt enthält, der für die Quantisierung verwendet wurde.
OutputTensor
Typ: DML_TENSOR_DESC*
Der Ausgabe-Tensor, in den die Ergebnisse geschrieben werden sollen.
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_1_0
eingeführt.
Tensoreinschränkungen
- InputTensor-, OutputTensor, ScaleTensor-und ZeroPointTensor- müssen denselben DimensionCount- und Größenhaben.
- InputTensor- und ZeroPointTensor- müssen denselben DataType-aufweisen.
- OutputTensor- und ScaleTensor- müssen denselben DataType-aufweisen.
Tensorunterstützung
DML_FEATURE_LEVEL_6_2 und höher
Tensor | Art | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 1 bis 8 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
ScaleTensor | Eingabe | 1 bis 8 | FLOAT32, FLOAT16 |
ZeroPointTensor | Optionale Eingabe | 1 bis 8 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 1 bis 8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_6_0 und höher
Tensor | Art | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 1 bis 8 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
ScaleTensor | Eingabe | 1 bis 8 | FLOAT32, FLOAT16 |
ZeroPointTensor | Eingabe | 1 bis 8 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 1 bis 8 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_3_0 und höher
Tensor | Art | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 1 bis 8 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
ScaleTensor | Eingabe | 1 bis 8 | FLOAT32 |
ZeroPointTensor | Eingabe | 1 bis 8 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 1 bis 8 | FLOAT32 |
DML_FEATURE_LEVEL_2_1 und höher
Tensor | Art | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 4 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
ScaleTensor | Eingabe | 4 | FLOAT32 |
ZeroPointTensor | Eingabe | 4 | INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Ausgabe | 4 | FLOAT32 |
DML_FEATURE_LEVEL_1_0 und höher
Tensor | Art | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 4 | UINT8 |
ScaleTensor | Eingabe | 4 | FLOAT32 |
ZeroPointTensor | Eingabe | 4 | UINT8 |
OutputTensor | Ausgabe | 4 | FLOAT32 |
Anforderungen
Anforderung | Wert |
---|---|
Header- | directml.h |