Compartir a través de


estructura DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC (directml.h)

Calcula los degradados de la propiedad inversa para la agrupación media (consulte DML_AVERAGE_POOLING_OPERATOR_DESC).

Considere una DML_AVERAGE_POOLING_OPERATOR_DESC de 2x2, sin relleno y un paso de 1, que realiza lo siguiente.

InputTensor             OutputTensor
[[[[1, 2, 3],   AvgPool  [[[[3, 4],
   [4, 5, 6],     -->       [6, 7]]]]
   [7, 8, 9]]]]

Cada ventana de 2 x 2 del tensor de entrada se calcula para generar un elemento de la salida (lectura de ceros para elementos más allá del borde). Este es un ejemplo de la salida de DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC dados parámetros similares.

InputGradientTensor            OutputGradientTensor
  [[[[1, 2],     AvgPoolGrad  [[[[0.25, 0.75, 0.5],
     [3, 4]]]]       -->         [   1,  2.5, 1.5],
                                 [0.75, 1.75,   1]]]]

Observe que los valores de OutputGradientTensor representan las contribuciones ponderadas de ese elemento al outputTensor durante el operador de DML_AVERAGE_POOLING_OPERATOR_DESC original.

Sintaxis

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;
};

Miembros

InputGradientTensor

Tipo: const DML_TENSOR_DESC*

Tensor de degradado entrante. Normalmente, esto se obtiene a partir de la salida de la propiedad inversa de una capa anterior. Normalmente, este tensor tendría los mismos tamaños que la salida del DML_AVERAGE_POOLING_OPERATOR_DESC correspondiente en el paso hacia delante.

OutputGradientTensor

Tipo: const DML_TENSOR_DESC*

Tensor de salida que contiene los degradados de backpropagado. Normalmente, este tensor tendría los mismos tamaños que la entrada del DML_AVERAGE_POOLING_OPERATOR_DESC correspondiente en el paso hacia delante.

DimensionCount

Tipo: UINT

Número de elementos de las matrices Strides, WindowSize, StartPadding y EndPadding . Este valor debe ser igual al recuento de dimensiones espaciales. El recuento de dimensiones espaciales es 2 si se proporcionan tensores 4D o 3 si se proporcionan tensores 5D.

Strides

Tipo: _Field_size_(DimensionCount) const UINT*

Consulte Pasos en DML_AVERAGE_POOLING_OPERATOR_DESC.

WindowSize

Tipo: _Field_size_(DimensionCount) const UINT*

Consulte WindowSize en DML_AVERAGE_POOLING_OPERATOR_DESC.

StartPadding

Tipo: _Field_size_(DimensionCount) const UINT*

Consulte StartPadding en DML_AVERAGE_POOLING_OPERATOR_DESC.

EndPadding

Tipo: _Field_size_(DimensionCount) const UINT*

Consulte EndPadding en DML_AVERAGE_POOLING_OPERATOR_DESC.

IncludePadding

Tipo: BOOL

Consulte IncludePadding en DML_AVERAGE_POOLING_OPERATOR_DESC.

Disponibilidad

Este operador se introdujo en DML_FEATURE_LEVEL_3_0.

Restricciones tensor

InputGradientTensor y OutputGradientTensor deben tener el mismo DataType y DimensionCount.

Compatibilidad con Tensor

Tensor Clase Recuentos de dimensiones admitidos Tipos de datos admitidos
InputGradientTensor Entrada De 4 a 5 FLOAT32, FLOAT16
OutputGradientTensor Resultados De 4 a 5 FLOAT32, FLOAT16

Requisitos

Requisito Value
Cliente mínimo compatible compilación 20348 de Windows 10
Servidor mínimo compatible compilación 20348 de Windows 10
Encabezado directml.h