structure DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC (directml.h)
Calcule l’échelle de quantisation et les valeurs de point zéro nécessaires pour quantifier l’InputTensor, puis applique cette quantisation, en écrivant le résultat dans OutputTensor.
Cet opérateur utilise l’équation suivante pour quantifier.
InputMax = Max(InputTensor)
InputMin = Min(InputTensor)
AValue = (A - AZeroPoint) * AScale
BValue = (B - BZeroPoint) * BScale
// For uint8 output, Min = 0, Max = 255
// For int8 output, Min = -128, Max = 127
OutputScale = (InputMax – InputMin) / (Max – Min)
OutputZeroPoint = Min - InputMin / OutputScale
OutputTensor = clamp(round(InputValue / OutputScale) + OutputZeroPoint, Min, Max)
Syntaxe
struct DML_DYNAMIC_QUANTIZE_LINEAR_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *OutputTensor;
const DML_TENSOR_DESC *OutputScaleTensor;
const DML_TENSOR_DESC *OutputZeroPointTensor;
};
Membres
InputTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant les entrées.
OutputTensor
Type : const DML_TENSOR_DESC*
Tenseur de sortie dans lequel écrire les résultats.
OutputScaleTensor
Type : const DML_TENSOR_DESC*
Tenseur de sortie pour écrire le facteur d’échelle de sortie pour OutputTensor. Le nombre attendu d’éléments dans OutputScaleTensor est 1.
OutputZeroPointTensor
Type : const DML_TENSOR_DESC*
Tenseur de sortie pour écrire le point zéro de sortie pour OutputTensor. Le nombre attendu d’éléments dans OutputZeroPointTensor est 1.
Remarques
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_4_0.
Contraintes tensoriels
- InputTensor, OutputScaleTensor, OutputTensor et OutputZeroPointTensor doivent avoir le même DimensionCount.
- OutputTensor et OutputZeroPointTensor doivent avoir le même DataType.
Prise en charge de Tensor
Tenseur | Genre | Nombre de dimensions pris en charge | Types de données pris en charge |
---|---|---|---|
InputTensor | Entrée | 1 à 8 | FLOAT32, FLOAT16 |
OutputTensor | Sortie | 1 à 8 | INT8, UINT8 |
OutputScaleTensor | Sortie | 1 à 8 | FLOAT32 |
OutputZeroPointTensor | Sortie | 1 à 8 | INT8, UINT8 |
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Build 22000 |
Serveur minimal pris en charge | Windows Build 22000 |
En-tête | directml.h |