Partager via


structure DML_AVERAGE_POOLING_OPERATOR_DESC (directml.h)

Moyenne des valeurs entre les éléments de la fenêtre glissante sur le tenseur d’entrée.

Syntaxe

struct DML_AVERAGE_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;
  BOOL                  IncludePadding;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Tenseur d’entrée de Tailles{ 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. 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 . Il doit être défini sur 2 quand InputTensor a la valeur 4D et 3 lorsqu’il s’agit d’un tenseur 5D.

Strides

Type : _Field_size_(DimensionCount) const UINT*

Foulées pour les dimensions de fenêtre glissantes des tailles { Height, Width } lorsque DimensionCount est défini sur 2 ou { Depth, Height, Width } sur 3.

WindowSize

Type : _Field_size_(DimensionCount) const UINT*

Dimensions de la fenêtre glissante dans { Height, Width } lorsque DimensionCount est défini sur 2 ou { Depth, Height, Width } sur 3.

StartPadding

Type : _Field_size_(DimensionCount) const UINT*

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 a la valeur 2 ou { Depth, Height, Width } 3.

EndPadding

Type : _Field_size_(DimensionCount) const UINT*

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 a la valeur 2 ou { Depth, Height, Width } 3.

IncludePadding

Type : BOOL

Indique s’il faut inclure les éléments de remplissage autour des bords spatiaux lors du calcul de la valeur moyenne sur tous les éléments de la fenêtre glissante. Lorsque la valeur est définie sur FALSE, les éléments de remplissage ne sont pas comptabilisés dans la valeur de diviseur du calcul de la moyenne.

Disponibilité

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

Contraintes tensoriels

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

Prise en charge de Tensor

Tenseur Genre Nombre 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

Configuration requise

Condition requise Valeur
En-tête directml.h