DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC structure (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équantisé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*
Tenseur contenant les entrées du côté gauche.
AScaleTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant le facteur d’échelle souhaité pour ATensor. Le nombre attendu d’éléments dans AScaleTensor est de 1.
AZeroPointTensor
Type : _Maybenull_ const DML_TENSOR_DESC*
Tenseur contenant le point zéro souhaité pour ATensor. Le nombre attendu d’éléments dans AZeroPointTensor est de 1. AZeroPointTensor est un tenseur facultatif dont la valeur par défaut est 0 si elle n’est pas fournie.
BTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant les entrées de droite.
BScaleTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant le facteur d’échelle souhaité pour BTensor. Le nombre attendu d’éléments dans BScaleTensor est de 1.
BZeroPointTensor
Type : _Maybenull_ const DML_TENSOR_DESC*
Tenseur contenant le point zéro souhaité pour BTensor. Le nombre attendu d’éléments dans BZeroPointTensor est de 1. BZeroPointTensor est un tenseur facultatif qui est défini par défaut sur 0 s’il n’est pas fourni.
OutputScaleTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant le facteur d’échelle souhaité pour OutputTensor. Il s’agit d’un tenseur d’entrée qui définit le facteur d’échelle de quantisation de la sortie à utiliser lors de la quantisation des valeurs de sortie. Le nombre attendu d’éléments dans OutputScaleTensor est de 1.
OutputZeroPointTensor
Type : _Maybenull_ const DML_TENSOR_DESC*
Tenseur contenant le point zéro souhaité pour OutputTensor. Il s’agit d’un tenseur d’entrée définissant le point zéro de quantisation de sortie à utiliser lors de la quantisation des valeurs de sortie. Le nombre attendu d’éléments dans OutputZeroPointTensor est de 1. OutputZeroPointTensor est un tenseur facultatif qui est défini par défaut sur 0 s’il n’est pas fourni.
OutputTensor
Type : const DML_TENSOR_DESC*
Tenseur de sortie dans lequel écrire les résultats.
Notes
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_4_0.
Contraintes tensoriels
- AScaleTensor, ATensor, AZeroPointTensor, BScaleTensor, BTensor, BZeroPointTensor, OutputScaleTensor, OutputTensor et OutputZeroPointTensor doivent avoir le même DimensionCount.
- 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 DataType.
Prise en charge des tenseurs
Tenseur | Type | Nombre 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 | Output | 1 à 8 | INT8, UINT8 |
Spécifications
Client minimal pris en charge | Windows Build 22000 |
Serveur minimal pris en charge | Windows Build 22000 |
En-tête | directml.h |
Voir aussi
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour