DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC struttura (directml.h)
Calcola le sfumature backpropagation per il pooling medio (vedere DML_AVERAGE_POOLING_OPERATOR_DESC).
Si consideri un DML_AVERAGE_POOLING_OPERATOR_DESC 2x2, senza spaziatura interna e uno stride di 1, che esegue le operazioni seguenti.
InputTensor OutputTensor
[[[[1, 2, 3], AvgPool [[[[3, 4],
[4, 5, 6], --> [6, 7]]]]
[7, 8, 9]]]]
Ogni finestra 2x2 nel tensore di input viene mediata per produrre un elemento dell'output (lettura zero per gli elementi oltre il bordo). Ecco un esempio dell'output di DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC dati parametri simili.
InputGradientTensor OutputGradientTensor
[[[[1, 2], AvgPoolGrad [[[[0.25, 0.75, 0.5],
[3, 4]]]] --> [ 1, 2.5, 1.5],
[0.75, 1.75, 1]]]]
Si noti che i valori dell'oggetto OutputGradientTensor rappresentano i contributi ponderati di tale elemento all'operatoreOutputTensor durante l'operatore DML_AVERAGE_POOLING_OPERATOR_DESC originale.
Sintassi
struct DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC {
const DML_TENSOR_DESC *InputGradientTensor;
const DML_TENSOR_DESC *OutputGradientTensor;
UINT DimensionCount;
const UINT *Strides;
const UINT *WindowSize;
const UINT *StartPadding;
const UINT *EndPadding;
BOOL IncludePadding;
};
Members
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
Tensore sfumatura in ingresso. Questo viene in genere ottenuto dall'output di backpropagation di un livello precedente. In genere questo tensore avrà le stesse dimensioni dell'output del DML_AVERAGE_POOLING_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_AVERAGE_POOLING_OPERATOR_DESC corrispondente nel passaggio avanti.
DimensionCount
Tipo: UINT
Numero di elementi nelle matrici Strides, WindowSize, StartPadding e EndPadding . Questo valore deve essere uguale al numero di dimensioni spaziali. Il numero di dimensioni spaziali è 2 se vengono forniti tensori 4D o 3 se vengono forniti tensori 5D.
Strides
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere Strides in DML_AVERAGE_POOLING_OPERATOR_DESC.
WindowSize
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere WindowSize in DML_AVERAGE_POOLING_OPERATOR_DESC.
StartPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere StartPadding in DML_AVERAGE_POOLING_OPERATOR_DESC.
EndPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Vedere EndPadding in DML_AVERAGE_POOLING_OPERATOR_DESC.
IncludePadding
Tipo: BOOL
Vedere IncludePadding in DML_AVERAGE_POOLING_OPERATOR_DESC.
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_3_0
.
Vincoli tensor
InputGradientTensor e OutputGradientTensor devono avere lo stesso Oggetto DataType e DimensionCount.
Supporto di Tensor
Tensore | Tipo | Conteggi delle dimensioni supportate | Tipi di dati supportati |
---|---|---|---|
InputGradientTensor | Input | da 4 a 5 | FLOAT32, FLOAT16 |
OutputGradientTensor | Output | da 4 a 5 | FLOAT32, FLOAT16 |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 10 Build 20348 |
Server minimo supportato | Windows 10 Build 20348 |
Intestazione | directml.h |