Share via


DML_MAX_POOLING1_OPERATOR_DESC-Struktur (directml.h)

Berechnet den Maximalwert für die Elemente innerhalb des gleitenden Fensters über den Eingabe tensor und gibt optional die Indizes der ausgewählten Maximalwerte zurück.

Syntax

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

Member

InputTensor

Typ: const DML_TENSOR_DESC*

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

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

OutputIndicesTensor

Typ: _Maybenull_ const DML_TENSOR_DESC*

Ein optionaler Ausgabe-Tensor von Indizes für den Eingabe-Tensor InputTensor der im OutputTensor erzeugten und gespeicherten Maximalwerte. Diese Indexwerte sind nullbasiert und behandeln den Eingabe tensor als zusammenhängendes eindimensionales Array. Wenn mehrere Elemente innerhalb des gleitenden Fensters den gleichen Wert aufweisen, werden die späteren gleichen Werte ignoriert, und der Index zeigt auf den ersten gefundenen Wert. Sowohl OutputTensor als auch OutputIndicesTensor weisen die gleichen Tensorgrößen auf.

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: _Field_size_(DimensionCount) const UINT*

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

WindowSize

Typ: _Field_size_(DimensionCount) const UINT*

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

StartPadding

Typ: _Field_size_(DimensionCount) const UINT*

Die Anzahl der Auffüllungselemente, die auf den Anfang jeder Räumlichen Dimension des Eingabetensors InputTensor angewendet werden sollen. Die Werte sind 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 Auffüllungselemente, die am Ende jeder räumlichen Dimension des Eingabetensors InputTensor angewendet werden sollen. Die Werte sind in { Height, Width } , wenn DimensionCount auf 2 oder { Depth, Height, Width } auf 3 festgelegt ist.

Hinweise

Wenn OutputIndicesTensor auf NULL festgelegt ist, entspricht dieser Operator DML_MAX_POOLING_OPERATOR_DESC.

Eine neuere Version dieses Operators, DML_MAX_POOLING2_OPERATOR_DESC, wurde in DML_FEATURE_LEVEL_2_1eingeführt.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_2_0eingeführt.

Tensoreinschränkungen

  • InputTensor, OutputIndicesTensor und OutputTensor müssen über dieselbe DimensionCount verfügen.
  • InputTensor und OutputTensor müssen denselben DataType aufweisen.

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

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
OutputIndicesTensor Optionale Ausgabe 4 bis 5 UINT32

DML_FEATURE_LEVEL_2_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
OutputIndicesTensor Optionale Ausgabe 4 bis 5 UINT32

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows 10, Version 2004 (10.0; Build 19041)
Unterstützte Mindestversion (Server) Windows Server, Version 2004 (10.0; Build 19041)
Kopfzeile directml.h