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 |