Partager via


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

Voir aussi