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_1
eingeführt.
Verfügbarkeit
Dieser Operator wurde in DML_FEATURE_LEVEL_2_0
eingefü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 |
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