struttura DML_MAX_POOLING1_OPERATOR_DESC (directml.h)
Calcola il valore massimo tra gli elementi all'interno della finestra scorrevole sul tensore di input e, facoltativamente, restituisce gli indici dei valori massimi selezionati.
Sintassi
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;
};
Membri
InputTensor
Tipo: const DML_TENSOR_DESC*
Un tensore di input di dimensioni { BatchCount, ChannelCount, Height, Width }
se InputTensor.DimensionCount è 4 e { BatchCount, ChannelCount, Depth, Height, Weight }
se InputTensor.DimensionCount è 5.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensore di output in cui scrivere i risultati. Le dimensioni del tensore di output possono essere calcolate nel modo seguente.
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
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensore di output facoltativo degli indici nel tensore di input InputTensor dei valori massimi prodotti e archiviati nella OutputTensor. Questi valori di indice sono in base zero e considerano il tensore di input come matrice unidimensionale contigua. Quando più elementi all'interno della finestra scorrevole hanno lo stesso valore, i valori uguali successivi vengono ignorati e l'indice punta al primo valore rilevato. Sia il OutputTensor che OutputIndicesTensor hanno le stesse dimensioni del tensore.
DimensionCount
Numero di dimensioni spaziali del tensore di input InputTensor, che corrisponde anche al numero di dimensioni della finestra scorrevole WindowSize. Questo valore determina anche le dimensioni delle
Strides
Tipo: _Field_size_(DimensionCount) const UINT*
I passi per le dimensioni della finestra temporale scorrevole delle dimensioni
WindowSize
Tipo: _Field_size_(DimensionCount) const UINT*
Dimensioni della finestra temporale scorrevole in { Height, Width }
quando DimensionCount è impostato su 2 o { Depth, Height, Width }
se impostato su 3.
StartPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Numero di elementi di riempimento da applicare all'inizio di ogni dimensione spaziale del tensore di input InputTensor. I valori si trovano in { Height, Width }
quando DimensionCount è impostato su 2 o { Depth, Height, Width }
se impostato su 3.
EndPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Numero di elementi di riempimento da applicare alla fine di ogni dimensione spaziale del tensore di input InputTensor. I valori si trovano in { Height, Width }
quando DimensionCount è impostato su 2 o { Depth, Height, Width }
se impostato su 3.
Osservazioni
Quando OutputIndicesTensor è impostato su NULL, questo operatore equivale a DML_MAX_POOLING_OPERATOR_DESC.
Una versione più recente di questo operatore, DML_MAX_POOLING2_OPERATOR_DESC, è stata introdotta in DML_FEATURE_LEVEL_2_1
.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_2_0
.
Vincoli tensor
- InputTensor, OutputIndicesTensore OutputTensor devono avere lo stesso DimensionCount.
- InputTensor e OutputTensor devono avere lo stesso DataType.
Supporto tensor
DML_FEATURE_LEVEL_5_0 e versioni successive
Tensore | Gentile | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputTensor | Immissione | Da 4 a 5 | FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputTensor | Prodotto | Da 4 a 5 | FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8 |
OutputIndicesTensor | Output facoltativo | Da 4 a 5 | UINT64, UINT32 |
DML_FEATURE_LEVEL_3_0 e versioni successive
Tensore | Gentile | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputTensor | Immissione | Da 4 a 5 | FLOAT32, FLOAT16, INT8, UINT8 |
OutputTensor | Prodotto | Da 4 a 5 | FLOAT32, FLOAT16, INT8, UINT8 |
OutputIndicesTensor | Output facoltativo | Da 4 a 5 | UINT32 |
DML_FEATURE_LEVEL_2_0 e versioni successive
Tensore | Gentile | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
InputTensor | Immissione | Da 4 a 5 | FLOAT32, FLOAT16 |
OutputTensor | Prodotto | Da 4 a 5 | FLOAT32, FLOAT16 |
OutputIndicesTensor | Output facoltativo | Da 4 a 5 | UINT32 |
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows 10, versione 2004 (10.0; Build 19041) |
server minimo supportato | Windows Server, versione 2004 (10.0; Build 19041) |
intestazione |
directml.h |