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 |