DML_LP_POOLING1_OPERATOR_DESC-Struktur (directml.h)
Berechnet den LP-normalisierten Wert über die Elemente innerhalb des gleitenden Fensters über den Eingabetensor.
Wichtig
Diese API ist als Teil des eigenständigen weiterverteilbare Pakets DirectML verfügbar (siehe Microsoft.AI.DirectML , Version 1.13 und höher). Siehe auch DirectML-Versionsverlauf.
Syntax
struct DML_LP_POOLING1_OPERATOR_DESC
{
const DML_TENSOR_DESC* InputTensor;
const DML_TENSOR_DESC* OutputTensor;
UINT DimensionCount;
_Field_size_(DimensionCount) const UINT* Strides;
_Field_size_(DimensionCount) const UINT* WindowSize;
_Field_size_(DimensionCount) const UINT* StartPadding;
_Field_size_(DimensionCount) const UINT* EndPadding;
_Field_size_(DimensionCount) const UINT* Dilations;
UINT P;
};
Member
InputTensor
Typ: const DML_TENSOR_DESC*
Ein Eingabe-Tensor der 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, 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 Zahl der räumlichen Dimensionen des Eingabe-Tensor InputTensor, der auch der Zahl der Dimensionen des gleitenden Fensters WindowSize entspricht. Dieser Wert bestimmt auch die Größe der Arrays Strides, StartPadding und EndPadding. Er 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*
Eine Matrix mit den Fortschritten für die Größendimensionen des gleitenden Fensters { Height, Width }
, wenn DimensionCount auf 2 festgelegt ist, oder { Depth, Height, Width }
wenn er auf 3 festgelegt ist.
WindowSize
Typ: _Field_size_(DimensionCount) const UINT*
Eine Matrix mit den Dimensionen für das gleitende Fenster in { Height, Width }
, wenn DimensionCount auf 2 festgelegt ist, oder { Depth, Height, Width }
wenn er auf 3 festgelegt ist.
StartPadding
Typ: _Field_size_(DimensionCount) const UINT*
Eine Matrix mit der Anzahl der Auffüllungselemente, die am Anfang jeder räumlichen Dimension des Eingabe-Tensor InputTensor angewendet werden sollen. Die Werte befinden sich in { Height, Width }
wenn DimensionCount auf 2 festgelegt ist oder { Depth, Height, Width }
wenn sie auf 3 festgelegt ist.
EndPadding
Typ: _Field_size_(DimensionCount) const UINT*
Eine Matrix mit der Anzahl der Auffüllungselemente, die am Ende jeder räumlichen Dimension des Eingabe-Tensor InputTensor angewendet werden sollen. Die Werte befinden sich in { Height, Width }
wenn DimensionCount auf 2 festgelegt ist oder { Depth, Height, Width }
wenn sie auf 3 festgelegt ist.
Dilations
Typ: _Field_size_(DimensionCount) const UINT*
Die Werte für jede räumliche Dimension des Eingabe-Tensor InputTensor, mit dem ein Element innerhalb des gleitenden Fensters für jedes Element dieses Werts ausgewählt wird. Die Werte befinden sich in { Height, Width }
wenn DimensionCount auf 2 festgelegt ist oder { Depth, Height, Width }
wenn sie 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
bis Xn
die einzelnen Werte im gleitenden Fenster darstellen. In gängigen Anwendungsfällen wird dieser Wert entweder auf 1 oder 2 festgelegt, was entweder die L1- oder L2-Normalisierung darstellt.
Hinweise
DML_LP_POOLING1_OPERATOR_DESC ist wie DML_LP_POOLING_OPERATOR_DESC, mit Ausnahme einer zusätzlichen Konstanten–Matrix Dilation. Wenn Dilations für 4D-Eingaben auf { 1,1 } oder { 1,1,1 } für 5D-Eingabefeatures festgelegt sind, ist DML_LP_POOLING1_OPERATOR_DESC äquivalent für DML_LP_POOLING_OPERATOR_DESC.
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_6_2 eingeführt.
Tensor-Einschränkungen
InputTensor und OutputTensor müssen denselben DataType und DimensionCount aufweisen.
Tensor-Unterstützung
Tensor | Variante | Unterstützte Dimensionsanzahl | Unterstützte Datentypen |
---|---|---|---|
InputTensor | Eingabe | 4 bis 5 | FLOAT32, FLOAT16 |
OutputTensor | Output | 4 bis 5 | FLOAT32, FLOAT16 |
Anforderungen
Übergeordnet | directml.h |