struttura DML_MAX_POOLING_GRAD_OPERATOR_DESC (directml.h)
Calcola le sfumature backpropagation per il pooling massimo (vedere DML_MAX_POOLING2_OPERATOR_DESC).
Si consideri un DML_MAX_POOLING2_OPERATOR_DESC 2x2 senza spaziatura interna né dilatazioni e uno stride pari a 1, che esegue le operazioni seguenti.
InputTensor OutputTensor IndicesTensor
[[1, 2, 3], MaxPool [[4, 4], [[4, 4],
[2, 4, 2], --> [6, 7]] [7, 8]]
[5, 6, 7]]
L'elemento più grande di ogni finestra 2x2 nel tensore di input produce un elemento dell'output. Di seguito è riportato un esempio dell'output di DML_MAX_POOLING_GRAD_OPERATOR_DESC, in base a parametri simili.
InputTensor InputGradientTensor OutputGradientTensor
[[1, 2, 3], [[1, 2], MaxPoolGrad [[0, 0, 0],
[2, 4, 2], [4, 5]] --> [0, 3, 0],
[5, 6, 7]] [0, 4, 5]]
In effetti, questo operatore usa InputTensor per determinare l'indice dell'elemento più grande da ogni finestra e distribuisce i valori di InputGradientTensor in OutputGradientTensor in base a questi indici. Dove si sovrappongono gli indici, i valori vengono sommati. Gli elementi di output senza riferimenti vengono azzerato.
Nel caso di una cravatta (in cui più elementi in una finestra hanno lo stesso valore massimo), viene scelto l'elemento con l'indice dell'elemento logico più basso.
Sintassi
struct DML_MAX_POOLING_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
UINT DimensionCount;
const UINT *Strides;
const UINT *WindowSize;
const UINT *StartPadding;
const UINT *EndPadding;
const UINT *Dilations;
};
Members
InputTensor
Tipo: const DML_TENSOR_DESC*
Tensore della funzionalità di input. Si tratta in genere dello stesso tensore fornito come InputTensor per DML_MAX_POOLING2_OPERATOR_DESC nel passaggio avanti.
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensore sfumatura in ingresso. Questo risultato viene in genere ottenuto dall'output di backpropagation di un livello precedente. In genere questo tensore avrà le stesse dimensioni dell'output del DML_MAX_POOLING2_OPERATOR_DESC corrispondente nel passaggio avanti.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensore di output contenente le sfumature backpropagated. In genere questo tensore avrà le stesse dimensioni dell'input del DML_MAX_POOLING2_OPERATOR_DESC corrispondente nel passaggio avanti.
DimensionCount
Tipo: UINT
Numero di elementi nelle matrici Strides, WindowSize, StartPadding, EndPadding e Dilations . Questo valore deve essere uguale al numero di dimensioni spaziali (DimensionCount di InputTensor - 2). Poiché questo operatore supporta solo tensori 4D, l'unico valore valido per questo parametro è 2.
Strides
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere Strides in DML_MAX_POOLING2_OPERATOR_DESC.
WindowSize
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere WindowSize in DML_MAX_POOLING2_OPERATOR_DESC.
StartPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere StartPadding in DML_MAX_POOLING2_OPERATOR_DESC.
EndPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere EndPadding in DML_MAX_POOLING2_OPERATOR_DESC.
Dilations
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere Dilations in DML_MAX_POOLING2_OPERATOR_DESC( Dilations in DML_MAX_POOLING2_OPERATOR_DESC).
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_3_0
.
Vincoli tensor
- InputGradientTensor, InputTensor e OutputGradientTensor devono avere lo stesso Oggetto DataType e DimensionCount.
- InputTensor e OutputGradientTensor devono avere le stesse dimensioni.
Supporto di Tensor
DML_FEATURE_LEVEL_4_0 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { BatchCount, ChannelCount, [InputDepth], InputHeight, InputWidth } | da 4 a 5 | FLOAT32, FLOAT16 |
InputGradientTensor | Input | { BatchCount, ChannelCount, [OutputDepth], OutputHeight, OutputWidth } | da 4 a 5 | FLOAT32, FLOAT16 |
OutputGradientTensor | Output | { BatchCount, ChannelCount, [InputDepth], InputHeight, InputWidth } | da 4 a 5 | FLOAT32, FLOAT16 |
DML_FEATURE_LEVEL_3_0 e versioni successive
Tensore | Tipo | Dimensioni | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|---|
InputTensor | Input | { BatchCount, ChannelCount, InputHeight, InputWidth } | 4 | FLOAT32, FLOAT16 |
InputGradientTensor | Input | { BatchCount, ChannelCount, OutputHeight, OutputWidth } | 4 | FLOAT32, FLOAT16 |
OutputGradientTensor | Output | { BatchCount, ChannelCount, InputHeight, InputWidth } | 4 | FLOAT32, FLOAT16 |
Requisiti
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | directml.h |