Share via


DML_AVERAGE_POOLING_OPERATOR_DESC-Struktur (directml.h)

Durchschnittliche Werte für die Elemente innerhalb des gleitenden Fensters über den Eingabe tensor.

Syntax

struct DML_AVERAGE_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;
  BOOL                  IncludePadding;
};

Member

InputTensor

Typ: const DML_TENSOR_DESC*

Ein Eingabe-Tensor für Größen{ BatchCount, ChannelCount, Height, Width } für 4D und { BatchCount, ChannelCount, Depth, Height, Weight } für 5D.

OutputTensor

Typ: const DML_TENSOR_DESC*

Eine Beschreibung des Ausgabe tensors. 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: _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.

IncludePadding

Typ: BOOL

Gibt an, ob beim Berechnen des Durchschnittswerts für alle Elemente innerhalb des gleitenden Fensters die Auffüllungselemente um die räumlichen Kanten eingeschlossen werden sollen. Wenn der Wert auf FALSE festgelegt ist, werden die Auffüllelemente nicht als Teil des Divisorwerts der Mittelwertberechnung gezählt.

Verfügbarkeit

Dieser Operator wurde in DML_FEATURE_LEVEL_1_0eingeführt.

Tensoreinschränkungen

InputTensor und OutputTensor müssen denselben DataType und DimensionCount aufweisen.

Tensorunterstützung

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