Structure DML_LP_POOLING1_OPERATOR_DESC (directml.h)
Calcule la valeur normalisée LP parmi les éléments de la fenêtre glissante sur le tenseur d’entrée.
Important
Cette API est disponible dans le cadre du package redistribuable autonome DirectML (voir Microsoft.AI.DirectML version 1.13 et ultérieures). Consultez également l’historique des versions DirectML.
Syntaxe
struct DML_LP_POOLING1_OPERATOR_DESC
{
const DML_TENSOR_DESC* InputTensor;
const DML_TENSOR_DESC* OutputTensor;
UINT DimensionCount;
_Field_size_(DimensionCount) const UINT* Strides;
_Field_size_(DimensionCount) const UINT* WindowSize;
_Field_size_(DimensionCount) const UINT* StartPadding;
_Field_size_(DimensionCount) const UINT* EndPadding;
_Field_size_(DimensionCount) const UINT* Dilations;
UINT P;
};
Membres
InputTensor
Type : const DML_TENSOR_DESC*
Un tenseur d’entrée de Sizes{ BatchCount, ChannelCount, Height, Width }
pour 4D et { BatchCount, ChannelCount, Depth, Height, Weight }
pour 5D.
OutputTensor
Type : const DML_TENSOR_DESC*
Description du tenseur de sortie dans lequel écrire. Les tailles du tenseur de sortie peuvent être calculées comme suit.
OutputTensor->Sizes[0] = InputTensor->Sizes[0];
OutputTensor->Sizes[1] = InputTensor->Sizes[1];
for (UINT i = 0; i < DimensionCount; ++i) {
UINT PaddedSize = InputTensor->Sizes[i + 2] + StartPadding[i] + EndPadding[i];
OutputTensor->Sizes[i + 2] = (PaddedSize - WindowSizes[i]) / Strides[i] + 1;
}
DimensionCount
Type : UINT
Nombre de dimensions spatiales du tenseur d’entrée InputTensor, qui correspond également au nombre de dimensions de la fenêtre glissante WindowSize. Cette valeur détermine également la taille des tableaux Strides, StartPadding et EndPadding . Elle doit être définie sur 2 lorsque InputTensor est en 4D et sur 3 lorsqu’il s’agit d’un tenseur 5D.
Strides
Type : _Field_size_(DimensionCount) const UINT*
Tableau contenant les strides pour les dimensions de la fenêtre glissante de tailles { Height, Width }
lorsque DimensionCount est défini sur 2, ou { Depth, Height, Width }
lorsqu’ils sont définis sur 3.
WindowSize
Type : _Field_size_(DimensionCount) const UINT*
Tableau content les dimensions de la fenêtre glissante dans { Height, Width }
lorsque DimensionCount est défini sur 2, ou { Depth, Height, Width }
lorsqu’elle est définie sur 3.
StartPadding
Type : _Field_size_(DimensionCount) const UINT*
Tableau contenant le nombre d’éléments de remplissage à appliquer au début de chaque dimension spatiale du tenseur d’entrée InputTensor. Les valeurs se trouvent dans { Height, Width }
lorsque DimensionCount est défini sur 2 ou { Depth, Height, Width }
quand la valeur est 3.
EndPadding
Type : _Field_size_(DimensionCount) const UINT*
Tableau contenant le nombre d’éléments de remplissage à appliquer à la fin de chaque dimension spatiale du tenseur d’entrée InputTensor. Les valeurs se trouvent dans { Height, Width }
lorsque DimensionCount est défini sur 2 ou { Depth, Height, Width }
quand la valeur est 3.
Dilations
Type : _Field_size_(DimensionCount) const UINT*
Valeurs de chaque dimension spatiale du tenseur d’entrée InputTensor par laquelle un élément de la fenêtre glissante est sélectionné pour chaque élément de cette valeur. Les valeurs se trouvent dans { Height, Width }
lorsque DimensionCount est défini sur 2 ou { Depth, Height, Width }
quand la valeur est 3.
P
Type : UINT
Valeur de la variable P
dans la fonction de normalisation LP Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P)
où X1
à Xn
représente chacune des valeurs dans la fenêtre glissante. Dans les cas d’usage courants, cette valeur est définie sur 1 ou 2, représentant respectivement la normalisation L1 ou L2.
Notes
DML_LP_POOLING1_OPERATOR_DESC est semblable à DML_LP_POOLING_OPERATOR_DESC, sauf avec des tableaux de constantes supplémentaires Dilations. Lorsque Dilations est défini sur { 1,1 } pour l’entrée 4D, ou { 1,1,1 } pour les fonctionnalités d’entrée 5D, DML_LP_POOLING1_OPERATOR_DESC est équivaut à DML_LP_POOLING_OPERATOR_DESC.
Disponibilité
Cet opérateur a été introduit dans DML_FEATURE_LEVEL_6_2.
Contraintes de tenseur
InputTensor et OutputTensor doivent avoir le même DataType et DimensionCount.
Prise en charge des tenseurs
Tenseur | Genre | Nombre de dimensions pris en charge | Types de données pris en charge |
---|---|---|---|
InputTensor | Input | 4 à 5 | FLOAT32, FLOAT16 |
OutputTensor | Sortie | 4 à 5 | FLOAT32, FLOAT16 |
Spécifications
En-tête | directml.h |