Share via


DML_MAX_POOLING_OPERATOR_DESC-Struktur (directml.h)

Berechnet den maximalen Wert für die Elemente innerhalb des gleitenden Fensters über den Eingabe tensor.

Syntax

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

Member

InputTensor

Typ: const DML_TENSOR_DESC*

Ein Eingabe tensor von Sizes{ BatchCount, ChannelCount, Height, Width } , wenn InputTensor.DimensionCount den Wert 4 und { BatchCount, ChannelCount, Depth, Height, Weight }InputTensor.DimensionCount den Wert 5 aufweist.

OutputTensor

Typ: const DML_TENSOR_DESC*

Ein Ausgabe tensor, in den die Ergebnisse geschrieben werden sollen. Die Größen des Ausgabe tensors können wie folgt berechnet werden.

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

Typ: UINT

Die Anzahl der räumlichen Dimensionen des Eingabe tensors InputTensor, die auch der Anzahl der Dimensionen des gleitenden Fensters WindowSize entspricht. Dieser Wert bestimmt auch die Größe der Arrays Strides, StartPadding und EndPadding . Es sollte auf 2 festgelegt werden, wenn InputTensor 4D ist, und 3, wenn es sich um einen 5D-Tensor handelt.

Strides

Typ: const UINT*

Die Schritte für die gleitenden Fensterdimensionen von Größen { Height, Width } , wenn DimensionCount auf 2 oder { Depth, Height, Width } auf 3 festgelegt ist.

WindowSize

Typ: _Field_size_(DimensionCount) const UINT*

Die Dimensionen des gleitenden Fensters in { Height, Width } , wenn DimensionCount auf 2 oder { Depth, Height, Width } 3 festgelegt ist.

StartPadding

Typ: _Field_size_(DimensionCount) const UINT*

Die Anzahl der Abstandselemente, die am Anfang jeder räumlichen Dimension des Eingabe tensors InputTensor angewendet werden sollen. Die Werte befinden sich in { Height, Width } , wenn DimensionCount auf 2 oder { Depth, Height, Width } auf 3 festgelegt ist.

EndPadding

Typ: _Field_size_(DimensionCount) const UINT*

Die Anzahl der Abstandselemente, die am Ende jeder räumlichen Dimension des Eingabe tensors InputTensor angewendet werden sollen. Die Werte befinden sich in { Height, Width } , wenn DimensionCount auf 2 oder { Depth, Height, Width } auf 3 festgelegt ist.

Hinweise

Eine neuere Version dieses Operators , DML_MAX_POOLING1_OPERATOR_DESC, wurde in DML_FEATURE_LEVEL_2_0eingeführt.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_1_0eingeführt.

Tensoreinschränkungen

InputTensor und OutputTensor müssen über denselben DataType und DimensionCount verfügen.

Tensorunterstützung

DML_FEATURE_LEVEL_5_0 und höher

Tensor Variante Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe 4 bis 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Ausgabe 4 bis 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8

DML_FEATURE_LEVEL_3_0 und höher

Tensor Variante Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe 4 bis 5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor Ausgabe 4 bis 5 FLOAT32, FLOAT16, INT8, UINT8

DML_FEATURE_LEVEL_1_0 und höher

Tensor Variante Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe 4 bis 5 FLOAT32, FLOAT16
OutputTensor Ausgabe 4 bis 5 FLOAT32, FLOAT16

Anforderungen

Anforderung Wert
Header directml.h