structure DML_ELEMENT_WISE_POW_OPERATOR_DESC (directml.h)
Calcule chaque élément d’InputTensor déclenché à la puissance de l’élément exponentTensor correspondant, en plaçant le résultat dans l’élément correspondant de OutputTensor.
f(input, exponent) = pow(input, exponent)
Les bases négatives sont prises en charge pour les exposants avec des valeurs intégrales (bien que le type de données puisse toujours être float), sinon cet opérateur retourne NaN.
Lorsque le tenseur d’entrée et le tenseur exposant ont tous deux un type de données intégral, cet opérateur garantit des résultats exacts.
Cet opérateur prend en charge l’exécution sur place, ce qui signifie que OutputTensor est autorisé à alias InputTensor pendant la liaison.
Syntaxe
struct DML_ELEMENT_WISE_POW_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *ExponentTensor;
const DML_TENSOR_DESC *OutputTensor;
const DML_SCALE_BIAS *ScaleBias;
};
Membres
InputTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant les valeurs d’entrée.
ExponentTensor
Type : const DML_TENSOR_DESC*
Tenseur contenant les valeurs de l’exposant.
OutputTensor
Type : const DML_TENSOR_DESC*
Tenseur de sortie dans lequel écrire les résultats.
ScaleBias
Type : _Maybenull_ const DML_SCALE_BIAS*
Mise à l’échelle et biais facultatifs à appliquer à l’entrée. Le cas échéant, cela a pour effet d’appliquer la fonction g(x) = x * scale + bias
à chaque élément d’entrée avant de calculer cet opérateur.
Notes
Jusqu’à ce DML_FEATURE_LEVEL_3_0
que , ExponentTensordoit correspondre au type d’InputTensor.
Consultez DML_ELEMENT_WISE_CONSTANT_POW_OPERATOR_DESC pour un opérateur POW qui accepte une FLOAT
constante pour l’exposant.
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_1_0
.
Contraintes tensoriels
- ExponentTensor, InputTensor et OutputTensor doivent avoir les mêmes DimensionCount et Sizes.
- InputTensor et OutputTensor doivent avoir le même DataType.
Prise en charge de Tensor
DML_FEATURE_LEVEL_3_0 et versions ultérieures
Tenseur | Type | Nombre de dimensions pris en charge | Types de données pris en charge |
---|---|---|---|
InputTensor | Entrée | 1 à 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
ExponentTensor | Entrée | 1 à 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
OutputTensor | Output | 1 à 8 | FLOAT32, FLOAT16, INT32, INT16, INT8, UINT32, UINT16, UINT8 |
DML_FEATURE_LEVEL_1_0 et versions ultérieures
Tenseur | Type | Nombre de dimensions pris en charge | Types de données pris en charge |
---|---|---|---|
InputTensor | Entrée | 4 | FLOAT32, FLOAT16 |
ExponentTensor | Entrée | 4 | FLOAT32, FLOAT16 |
OutputTensor | Output | 4 | FLOAT32, FLOAT16 |
Spécifications
En-tête | directml.h |