estrutura DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC (directml.h)
Calcula gradientes de backpropagation para pooling médio (consulte DML_AVERAGE_POOLING_OPERATOR_DESC).
Considere um 2x2 DML_AVERAGE_POOLING_OPERATOR_DESC, sem preenchimento e um passo de 1, que executa o seguinte.
InputTensor OutputTensor
[[[[1, 2, 3], AvgPool [[[[3, 4],
[4, 5, 6], --> [6, 7]]]]
[7, 8, 9]]]]
Cada janela 2x2 no tensor de entrada é média para produzir um elemento da saída (lendo zeros para elementos além da borda). Aqui está um exemplo da saída de DML_AVERAGE_POOLING_GRAD_OPERATOR_DESC determinados parâmetros semelhantes.
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 os valores no OutputGradientTensor representam o contribuições ponderado desse elemento para o OutputTensor durante o operador de DML_AVERAGE_POOLING_OPERATOR_DESC original.
Sintaxe
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;
};
Membros
InputGradientTensor
Tipo: const DML_TENSOR_DESC*
O tensor de gradiente de entrada. Normalmente, isso é obtido da saída de backpropagation de uma camada anterior. Normalmente, esse tensor teria os mesmos tamanhos que a saída do DML_AVERAGE_POOLING_OPERATOR_DESC correspondente no passe para frente.
OutputGradientTensor
Tipo: const DML_TENSOR_DESC*
Um tensor de saída que contém os gradientes backpropagated. Normalmente, esse tensor teria os mesmos tamanhos que a entrada do DML_AVERAGE_POOLING_OPERATOR_DESC correspondente no passe para frente.
DimensionCount
Tipo: UINT
O número de elementos nas matrizes Strides, WindowSize, StartPadding e EndPadding . Esse valor deve ser igual à contagem de dimensões espaciais. A contagem de dimensões espaciais será 2 se tensores 4D forem fornecidos ou 3 se tensores 5D forem fornecidos.
Strides
Tipo: _Field_size_(DimensionCount) const UINT*
Confira Passos em DML_AVERAGE_POOLING_OPERATOR_DESC.
WindowSize
Tipo: _Field_size_(DimensionCount) const UINT*
Consulte WindowSize no DML_AVERAGE_POOLING_OPERATOR_DESC.
StartPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Consulte StartPadding no DML_AVERAGE_POOLING_OPERATOR_DESC.
EndPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Consulte EndPadding em DML_AVERAGE_POOLING_OPERATOR_DESC.
IncludePadding
Tipo: BOOL
Consulte IncludePadding no DML_AVERAGE_POOLING_OPERATOR_DESC.
Disponibilidade
Esse operador foi introduzido em DML_FEATURE_LEVEL_3_0
.
Restrições do Tensor
InputGradientTensor e OutputGradientTensor devem ter os mesmos DataType e DimensionCount.
Suporte ao Tensor
Tensor | Tipo | Contagens de dimensões com suporte | Tipos de dados com suporte |
---|---|---|---|
InputGradientTensor | Entrada | 4 a 5 | FLOAT32, FLOAT16 |
OutputGradientTensor | Saída | 4 a 5 | FLOAT32, FLOAT16 |
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows 10 Build 20348 |
Servidor mínimo com suporte | Windows 10 Build 20348 |
Cabeçalho | directml.h |