structure DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC (directml.h)
Ajoute chaque élément dans ATensor à son élément correspondant dans BTensor, en plaçant le résultat dans l’élément correspondant de OutputTensor. Les valeurs contenues dans ATensor et BTensor sont déquantées à l’aide de l’équation suivante, puis ajoutées et requantisées.
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)
Syntaxe
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;
};
Membres
ATensor
Type : const DML_TENSOR_DESC*
Un capteur contenant les entrées de gauche.
AScaleTensor
Type : const DML_TENSOR_DESC*
Le capteur contenant le facteur d’échelle souhaité pour ATensor. Le nombre attendu d’éléments dans AScaleTensor est de 1.
Note
Une valeur d’échelle de 0 entraîne un comportement non défini.
AZeroPointTensor
Type : _Maybenull_ const DML_TENSOR_DESC*
Le capteur contenant le point zéro souhaité pour ATensor . Le nombre attendu d’éléments dans AZeroPointTensor est 1. AZeroPointTensor est un tensor facultatif qui est défini par défaut sur 0 s’il n’est pas fourni.
BTensor
Type : const DML_TENSOR_DESC*
Un capteur contenant les entrées de droite.
BScaleTensor
Type : const DML_TENSOR_DESC*
Le capteur contenant le facteur d’échelle souhaité pour BTensor . Le nombre attendu d’éléments dans BScaleTensor est 1.
Note
Une valeur d’échelle de 0 entraîne un comportement non défini.
BZeroPointTensor
Type : _Maybenull_ const DML_TENSOR_DESC*
Le capteur contenant le point zéro souhaité pour BTensor . Le nombre attendu d’éléments dans BZeroPointTensor est 1. BZeroPointTensor est un tensor facultatif qui est défini par défaut sur 0 s’il n’est pas fourni.
OutputScaleTensor
Type : const DML_TENSOR_DESC*
Le capteur contenant le facteur d’échelle souhaité pour OutputTensor. Il s’agit d’un capteur d’entrée définissant le facteur d’échelle de quantisation de sortie à utiliser lors de la quantification des valeurs de sortie. Le nombre attendu d’éléments dans OutputScaleTensor est 1.
Note
Une valeur d’échelle de 0 entraîne un comportement non défini.
OutputZeroPointTensor
Type : _Maybenull_ const DML_TENSOR_DESC*
Le capteur contenant le point zéro souhaité pour OutputTensor. Il s’agit d’un capteur d’entrée définissant le point zéro de quantisation de sortie à utiliser lors de la quantification des valeurs de sortie. Le nombre attendu d’éléments dans OutputZeroPointTensor est 1. OutputZeroPointTensor est un tensor facultatif qui est défini par défaut sur 0 s’il n’est pas fourni.
OutputTensor
Type : const DML_TENSOR_DESC*
Le tensoriel de sortie dans lequel écrire les résultats.
Remarques
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_4_0.
Contraintes Tensor
AScaleTensor , ATensor , AZeroPointTensor ,BScaleTensor ,BTensor, BZeroPointTensor, OutputScaleTensor ,OutputTensor et OutputZeroPointTensor doivent avoir le mêmeDimensionCount. - BTensor et BZeroPointTensor doivent avoir le même DataType.
- OutputTensor et OutputZeroPointTensor doivent avoir le même DataType.
- ATensor et AZeroPointTensor doivent avoir le même type de données .
Prise en charge de Tensor
Tenseur | Gentil | Nombres de dimensions pris en charge | Types de données pris en charge |
---|---|---|---|
ATensor | Entrée | 1 à 8 | INT8, UINT8 |
AScaleTensor | Entrée | 1 à 8 | FLOAT32 |
AZeroPointTensor | Entrée facultative | 1 à 8 | INT8, UINT8 |
BTensor | Entrée | 1 à 8 | INT8, UINT8 |
BScaleTensor | Entrée | 1 à 8 | FLOAT32 |
BZeroPointTensor | Entrée facultative | 1 à 8 | INT8, UINT8 |
OutputScaleTensor | Entrée | 1 à 8 | FLOAT32 |
OutputZeroPointTensor | Entrée facultative | 1 à 8 | INT8, UINT8 |
OutputTensor | Sortie | 1 à 8 | INT8, UINT8 |
Exigences
Exigence | Valeur |
---|---|
client minimum pris en charge | Windows Build 22000 |
serveur minimum pris en charge | Windows Build 22000 |
d’en-tête | directml.h |