Share via


DML_LP_POOLING_OPERATOR_DESC-Struktur (directml.h)

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

Syntax

struct DML_LP_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;
  UINT                  P;
};

Member

InputTensor

Typ: const DML_TENSOR_DESC*

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

OutputTensor

Typ: const DML_TENSOR_DESC*

Der Ausgabe tensor, in den geschrieben werden soll. 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*

Ein Array, das die Schritte für die gleitenden Fensterdimensionen von Größen { Height, Width } enthält, wenn DimensionCount auf 2 oder { Depth, Height, Width } 3 festgelegt ist.

WindowSize

Typ: _Field_size_(DimensionCount) const UINT*

Ein Array, das die Dimensionen des gleitenden Fensters in { Height, Width }enthält, { Depth, Height, Width } wenn DimensionCount auf 2 oder auf 3 festgelegt ist.

StartPadding

Typ: _Field_size_(DimensionCount) const UINT*

Ein Array, das die Anzahl der Abstandselemente enthält, die am Anfang jeder räumlichen Dimension des Eingabetensors 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*

Ein Array, das die Anzahl der Auffüllungselemente enthält, die am Ende jeder räumlichen Dimension des Eingabetensors InputTensor angewendet werden sollen. Die Werte befinden sich in { Height, Width } , wenn DimensionCount auf 2 oder { Depth, Height, Width } auf 3 festgelegt ist.

P

Typ: UINT

Der Wert der P Variablen in der Lp-Normalisierungsfunktion Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P), wobei X1Xn die werte im gleitenden Fenster dargestellt werden sollen. In häufigen Anwendungsfällen wird dieser Wert entweder auf 1 oder 2 festgelegt, was entweder die L1- oder L2-Normalisierung darstellt.

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

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