Partager via


structure DML_LP_POOLING_OPERATOR_DESC (directml.h)

Calcule la valeur normalisée Lp sur les éléments de la fenêtre glissante sur le capteur d’entrée.

Syntaxe

struct DML_LP_POOLING_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *WindowSize;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
  UINT                  P;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Un tensoriel d’entrée avec Tailles{ BatchCount, ChannelCount, Height, Width } pour 4D et { BatchCount, ChannelCount, Depth, Height, Width } pour 5D.

OutputTensor

Type : const DML_TENSOR_DESC*

Le capteur de sortie dans lequel écrire. Les tailles du capteur 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 de lainput tensor InputTensor, qui correspond également au nombre de dimensions de la fenêtre glissante WindowSize. Cette valeur détermine également la taille de l'strides , l'StartPadding et tableaux de endPadding. Elle doit être définie sur 2 quand inputTensor est 4D et 3 lorsqu’il s’agit d’un tensoreur 5D.

Strides

Type : _Field_size_(DimensionCount) const UINT*

Tableau contenant les pas pour les dimensions de fenêtre glissante de tailles { Height, Width } lorsque le DimensionCount est défini sur 2 ou { Depth, Height, Width } lorsqu’il est défini sur 3.

WindowSize

Type : _Field_size_(DimensionCount) const UINT*

Tableau contenant les dimensions de la fenêtre glissante dans { Height, Width }lorsque DimensionCount a la valeur 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 capteur d’entrée InputTensor. Les valeurs sont dans { Height, Width } lorsque DimensionCount a la valeur 2 ou { Depth, Height, Width } lorsqu’elle est définie sur 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 capteur d’entrée InputTensor. Les valeurs sont dans { Height, Width } lorsque DimensionCount a la valeur 2 ou { Depth, Height, Width } lorsqu’elle est définie sur 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ésentant 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.

Disponibilité

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

Contraintes Tensor

InputTensor et OutputTensor doivent avoir les mêmes DataType et DimensionCount.

Prise en charge de Tensor

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 à 5 FLOAT32, FLOAT16
OutputTensor Sortie 4 à 5 FLOAT32, FLOAT16

Exigences

Exigence Valeur
d’en-tête directml.h