struttura DML_MAX_POOLING2_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_POOLING2_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;
const UINT *Dilations;
};
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.
Dilations
Tipo: _Field_size_(DimensionCount) const UINT*
I valori per ogni dimensione spaziale del tensore di input InputTensor in base al quale viene selezionato un elemento all'interno della finestra scorrevole per ogni elemento di tale valore. I valori si trovano in { Height, Width }
quando DimensionCount è impostato su 2 o { Depth, Height, Width }
se impostato su 3.
Osservazioni
DML_MAX_POOLING2_OPERATOR_DESC sostituisce la versione precedente DML_MAX_POOLING_OPERATOR1_DESC con una matrice costante aggiuntiva Dilations. Le due versioni sono equivalenti quando dilations è impostato su { 1,1 }
per l'input 4D o { 1,1,1 }
per le funzionalità di input 5D.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_2_1
.
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_1 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 |