Partager via


structure DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC (directml.h)

Exécute la fonction dequantisation linéaire suivante sur chaque élément de InputTensor par rapport à son élément correspondant dans ScaleTensor et ZeroPointTensor, en plaçant les résultats dans l’élément correspondant de OutputTensor.

f(input, scale, zero_point) = (input - zero_point) * scale

La quantisation est un moyen courant d’augmenter les performances au coût de la précision. Un groupe de valeurs int 8 bits peut être calculé plus rapidement qu’un groupe de valeurs float 32 bits. Le déquantage convertit les données encodées en son domaine.

Syntaxe

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;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Capteur contenant les entrées.

ScaleTensor

Type : const DML_TENSOR_DESC*

Capteur contenant les échelles. Une valeur d’échelle de 0 entraîne un comportement non défini.

Note

Une valeur d’échelle de 0 entraîne un comportement non défini.

ZeroPointTensor

Type : const DML_TENSOR_DESC*

Le capteur contenant le point zéro utilisé pour la quantisation.

OutputTensor

Type : const DML_TENSOR_DESC*

Le tensoriel de sortie dans lequel écrire les résultats.

Disponibilité

Cet opérateur a été introduit dans DML_FEATURE_LEVEL_1_0.

Contraintes Tensor

  • InputTensor , OutputTensor , ScaleTensor et ZeroPointTensor doivent avoir les mêmes DimensionCount et Sizes.
  • InputTensor et ZeroPointTensor doivent avoir le même type de données .
  • OutputTensor et ScaleTensor doivent avoir le même type de données .

Prise en charge de Tensor

DML_FEATURE_LEVEL_6_2 et versions ultérieures

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Entrée 1 à 8 FLOAT32, FLOAT16
ZeroPointTensor Entrée facultative 1 à 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Sortie 1 à 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_6_0 et versions ultérieures

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Entrée 1 à 8 FLOAT32, FLOAT16
ZeroPointTensor Entrée 1 à 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Sortie 1 à 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_3_0 et versions ultérieures

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 1 à 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Entrée 1 à 8 FLOAT32
ZeroPointTensor Entrée 1 à 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Sortie 1 à 8 FLOAT32

DML_FEATURE_LEVEL_2_1 et versions ultérieures

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Entrée 4 FLOAT32
ZeroPointTensor Entrée 4 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Sortie 4 FLOAT32

DML_FEATURE_LEVEL_1_0 et versions ultérieures

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 UINT8
ScaleTensor Entrée 4 FLOAT32
ZeroPointTensor Entrée 4 UINT8
OutputTensor Sortie 4 FLOAT32

Exigences

Exigence Valeur
d’en-tête directml.h

Voir aussi

DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC