Partager via


structure DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC (directml.h)

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

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

La quantification est un moyen courant d’augmenter les performances au détriment de la précision. Un groupe de valeurs int 8 bits peut être calculé plus rapidement qu’un groupe de valeurs float 32 bits. La déquantisation 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*

Tenseur contenant les entrées.

ScaleTensor

Type : const DML_TENSOR_DESC*

Tenseur contenant les échelles.

ZeroPointTensor

Type : const DML_TENSOR_DESC*

Tenseur contenant le point zéro utilisé pour la quantification.

OutputTensor

Type : const DML_TENSOR_DESC*

Tenseur de sortie dans lequel écrire les résultats.

Disponibilité

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

Contraintes tensoriels

  • InputTensor, OutputTensor, ScaleTensor et ZeroPointTensor doivent avoir les mêmes DimensionCount et Sizes.
  • InputTensor et ZeroPointTensor doivent avoir le même DataType.
  • OutputTensor et ScaleTensor doivent avoir le même DataType.

Prise en charge de Tensor

DML_FEATURE_LEVEL_6_2 et versions ultérieures

Tenseur Genre Nombre 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 Genre Nombre 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 Genre Nombre 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 Genre Nombre 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 Genre Nombre 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

Configuration requise

Condition requise Valeur
En-tête directml.h

Voir aussi

DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC