Partager via


structure DML_MAX_POOLING_OPERATOR_DESC (directml.h)

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

Syntaxe

struct DML_MAX_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;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Un tensoriel d’entrée de Sizes{ BatchCount, ChannelCount, Height, Width } si InputTensor.DimensionCount est 4, et { BatchCount, ChannelCount, Depth, Height, Weight } si InputTensor.DimensionCount est 5.

OutputTensor

Type : const DML_TENSOR_DESC*

Un tensoriel de sortie dans lequel écrire les résultats. 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 : const UINT*

Les pas pour les dimensions de fenêtre glissante de tailles lorsque le DimensionCount est défini sur 2 ou lorsqu’il est défini sur 3.

WindowSize

Type : _Field_size_(DimensionCount) const UINT*

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*

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*

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.

Remarques

Une version plus récente de cet opérateur, DML_MAX_POOLING1_OPERATOR_DESC, a été introduite dans DML_FEATURE_LEVEL_2_0.

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

DML_FEATURE_LEVEL_5_0 et versions ultérieures

Tenseur Gentil Nombres de dimensions pris en charge Types de données pris en charge
InputTensor Entrée 4 à 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Sortie 4 à 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

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 4 à 5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor Sortie 4 à 5 FLOAT32, FLOAT16, INT8, UINT8

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 à 5 FLOAT32, FLOAT16
OutputTensor Sortie 4 à 5 FLOAT32, FLOAT16

Exigences

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