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 X1
Xn
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_0
eingefü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 |
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für