Condividi tramite


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