DML_MAX_POOLING1_OPERATOR_DESC Struktur (directml.h)
Berechnet den Maximalwert über die Elemente innerhalb des Gleitfensters ü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;
};
Angehörige
InputTensor
Typ: DML_TENSOR_DESC*
Ein Eingabe-Tensor von Größen{ BatchCount, ChannelCount, Height, Width }
, wenn InputTensor.DimensionCount 4 ist, und { BatchCount, ChannelCount, Depth, Height, Weight }
, wenn InputTensor.DimensionCount 5 ist.
OutputTensor
Typ: 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 OutputTensorerzeugten und gespeicherten Höchstwerte. Diese Indexwerte sind nullbasiert und behandeln den Eingabe-Tensor als zusammenhängendes eindimensionales Array. Wenn mehrere Elemente im Gleitfenster denselben Wert aufweisen, werden die späteren gleichen Werte ignoriert, und der Index verweist auf den ersten gefundenen Wert. Sowohl die OutputTensor als auch OutputIndicesTensor haben dieselben Tensorgrößen.
DimensionCount
Typ: UINT-
Die Anzahl der räumlichen Dimensionen des Eingabe-Tensors InputTensor, die auch der Anzahl der Dimensionen des gleitenden Fensters WindowSizeentspricht. Dieser Wert bestimmt auch die Größe der Strides, StartPaddingund EndPadding Arrays. 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) UINT-*
Die Schritte für die Größenabmessungen des Gleitfensters { Height, Width }
, wenn die DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }
, wenn sie auf 3 festgelegt ist.
WindowSize
Typ: _Field_size_(DimensionCount) UINT-*
Die Abmessungen des Gleitfensters in { Height, Width }
, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }
, wenn sie auf 3 festgelegt ist.
StartPadding
Typ: _Field_size_(DimensionCount) UINT-*
Die Anzahl der Abstandselemente, die am Anfang jeder räumlichen Dimension des Eingabe-Tensors InputTensorangewendet werden sollen. Die Werte sind in { Height, Width }
, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }
, wenn sie auf 3 festgelegt ist.
EndPadding
Typ: _Field_size_(DimensionCount) UINT-*
Die Anzahl der Abstandselemente, die am Ende jeder räumlichen Dimension des Eingabe-Tensors InputTensorangewendet werden sollen. Die Werte sind in { Height, Width }
, wenn DimensionCount- auf 2 festgelegt ist, oder { Depth, Height, Width }
, wenn sie auf 3 festgelegt ist.
Bemerkungen
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 denselben DimensionCount-haben.
- InputTensor- und OutputTensor- müssen denselben DataType-aufweisen.
Tensorunterstützung
DML_FEATURE_LEVEL_5_0 und höher
Tensor | Art | 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 | Art | 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 | Art | 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 |
---|---|
mindestens unterstützte Client- | Windows 10, Version 2004 (10.0; Build 19041) |
mindestens unterstützte Server- | Windows Server, Version 2004 (10.0; Build 19041) |
Header- | directml.h |