Partager via


structure DML_MAX_POOLING2_OPERATOR_DESC (directml.h)

Calcule la valeur maximale entre les éléments de la fenêtre glissante sur le capteur d’entrée et retourne éventuellement les index des valeurs maximales sélectionnées.

Syntaxe

struct DML_MAX_POOLING2_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_TENSOR_DESC *OutputIndicesTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *WindowSize;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
  const UINT            *Dilations;
};

Membres

InputTensor

Type : const DML_TENSOR_DESC*

Un tensoreur 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;
}

OutputIndicesTensor

Type : _Maybenull_ const DML_TENSOR_DESC*

Un capteur de sortie facultatif d’index pour le capteur d’entrée InputTensor des valeurs maximales produites et stockées dans le OutputTensor. Ces valeurs d’index sont basées sur zéro et traitent le capteur d’entrée comme un tableau unidimensionnel contigu. Lorsque plusieurs éléments de la fenêtre glissante ont la même valeur, les valeurs égales ultérieures sont ignorées et l’index pointe vers la première valeur rencontrée. Les OutputTensor et OutputIndicesTensor ont les mêmes tailles de capteur.

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*

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.

Dilations

Type : _Field_size_(DimensionCount) const UINT*

Les valeurs de chaque dimension spatiale du capteur 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 sont dans { Height, Width } lorsque DimensionCount a la valeur 2 ou { Depth, Height, Width } lorsqu’elle est définie sur 3.

Remarques

DML_MAX_POOLING2_OPERATOR_DESC remplace la version antérieure DML_MAX_POOLING_OPERATOR1_DESC par un tableau de constantes supplémentaire dilations. Les deux versions sont équivalentes lorsque dilations est définie sur { 1,1 } pour l’entrée 4D ou { 1,1,1 } pour les fonctionnalités d’entrée 5D.

Disponibilité

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

Contraintes Tensor

  • InputTensor , OutputIndicesTensoret OutputTensor doivent avoir le même DimensionCount.
  • InputTensor et OutputTensor doivent avoir le même type de données .

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
OutputIndicesTensor Sortie facultative 4 à 5 UINT64, UINT32

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
OutputIndicesTensor Sortie facultative 4 à 5 UINT32

DML_FEATURE_LEVEL_2_1 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
OutputIndicesTensor Sortie facultative 4 à 5 UINT32

Exigences

Exigence Valeur
client minimum pris en charge Windows 10, version 2004 (10.0 ; Build 19041)
serveur minimum pris en charge Windows Server, version 2004 (10.0 ; Build 19041)
d’en-tête directml.h