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 |