Freigeben über


DML_MAX_POOLING2_OPERATOR_DESC Struktur (directml.h)

Berechnet den Maximalwert über die Elemente innerhalb des Gleitfensters über den Eingabe-Tensor und gibt optional die Indizes der ausgewählten Maximalwerte zurück.

Syntax

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

Angehörige

InputTensor

Typ: DML_TENSOR_DESC*

Ein Eingabe-Tensor von Größen{ BatchCount, ChannelCount, Height, Width }, wenn InputTensor.DimensionCount 4 ist, und { BatchCount, ChannelCount, Depth, Height, Weight } , wenn InputTensor.DimensionCount 5 ist.

OutputTensor

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

OutputIndicesTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Ein optionaler Ausgabe-Tensor von Indizes für den Eingabe-Tensor InputTensor der im OutputTensorerzeugten und gespeicherten Höchstwerte. Diese Indexwerte sind nullbasiert und behandeln den Eingabe-Tensor als zusammenhängendes eindimensionales Array. Wenn mehrere Elemente im Gleitfenster denselben Wert aufweisen, werden die späteren gleichen Werte ignoriert, und der Index verweist auf den ersten gefundenen Wert. Sowohl die OutputTensor als auch OutputIndicesTensor haben dieselben Tensorgrößen.

DimensionCount

Typ: UINT-

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

Strides

Typ: _Field_size_(DimensionCount) UINT-*

Die Schritte für die Größenabmessungen des Gleitfensters { Height, Width }, wenn die DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }, wenn sie auf 3 festgelegt ist.

WindowSize

Typ: _Field_size_(DimensionCount) UINT-*

Die Abmessungen des Gleitfensters in { Height, Width }, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }, wenn sie auf 3 festgelegt ist.

StartPadding

Typ: _Field_size_(DimensionCount) UINT-*

Die Anzahl der Abstandselemente, die am Anfang jeder räumlichen Dimension des Eingabe-Tensors InputTensorangewendet werden sollen. Die Werte sind in { Height, Width }, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }, wenn sie auf 3 festgelegt ist.

EndPadding

Typ: _Field_size_(DimensionCount) UINT-*

Die Anzahl der Abstandselemente, die am Ende jeder räumlichen Dimension des Eingabe-Tensors InputTensorangewendet werden sollen. Die Werte sind in { Height, Width }, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }, wenn sie auf 3 festgelegt ist.

Dilations

Typ: _Field_size_(DimensionCount) UINT-*

Die Werte für jede räumliche Dimension des Eingabe-Tensors InputTensor, um die ein Element im gleitenden Fenster für alle Elemente dieses Werts ausgewählt wird. Die Werte sind in { Height, Width }, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }, wenn sie auf 3 festgelegt ist.

Bemerkungen

DML_MAX_POOLING2_OPERATOR_DESC ersetzt die frühere Version DML_MAX_POOLING_OPERATOR1_DESC durch ein zusätzliches Konstantenarray Dilations. Die beiden Versionen sind gleichwertig, wenn Dilations- für 4D-Eingaben auf { 1,1 } oder { 1,1,1 } für 5D-Eingabefeatures festgelegt ist.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_2_1eingeführt.

Tensoreinschränkungen

  • InputTensor-, OutputIndicesTensor-und OutputTensor- müssen denselben DimensionCount-haben.
  • InputTensor- und OutputTensor- müssen denselben DataType-aufweisen.

Tensorunterstützung

DML_FEATURE_LEVEL_5_0 und höher

Tensor Art 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
OutputIndicesTensor Optionale Ausgabe 4 bis 5 UINT64, UINT32

DML_FEATURE_LEVEL_3_0 und höher

Tensor Art Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe 4 bis 5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor Ausgabe 4 bis 5 FLOAT32, FLOAT16, INT8, UINT8
OutputIndicesTensor Optionale Ausgabe 4 bis 5 UINT32

DML_FEATURE_LEVEL_2_1 und höher

Tensor Art Unterstützte Dimensionsanzahl Unterstützte Datentypen
InputTensor Eingabe 4 bis 5 FLOAT32, FLOAT16
OutputTensor Ausgabe 4 bis 5 FLOAT32, FLOAT16
OutputIndicesTensor Optionale Ausgabe 4 bis 5 UINT32

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows 10, Version 2004 (10.0; Build 19041)
mindestens unterstützte Server- Windows Server, Version 2004 (10.0; Build 19041)
Header- directml.h