Estrutura DML_LP_POOLING1_OPERATOR_DESC (directml.h)
Calcula o valor normalizado LP entre os elementos dentro da janela deslizante sobre o tensor de entrada.
Importante
Essa API está disponível como parte do pacote redistribuível autônomo DirectML (consulte Microsoft.AI.DirectML versão 1.13 e posterior. Confira também o histórico de versões do DirectML.
Sintaxe
struct DML_LP_POOLING1_OPERATOR_DESC
{
const DML_TENSOR_DESC* InputTensor;
const DML_TENSOR_DESC* OutputTensor;
UINT DimensionCount;
_Field_size_(DimensionCount) const UINT* Strides;
_Field_size_(DimensionCount) const UINT* WindowSize;
_Field_size_(DimensionCount) const UINT* StartPadding;
_Field_size_(DimensionCount) const UINT* EndPadding;
_Field_size_(DimensionCount) const UINT* Dilations;
UINT P;
};
Membros
InputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor de entrada de Tamanhos{ BatchCount, ChannelCount, Height, Width }
para 4D e { BatchCount, ChannelCount, Depth, Height, Weight }
para 5D.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Uma descrição do tensor de saída no qual gravar. Os Sizes do tensor de saída podem ser calculados da maneira a seguir.
OutputTensor->Sizes[0] = InputTensor->Sizes[0];
OutputTensor->Sizes[1] = InputTensor->Sizes[1];
for (UINT i = 0; i < DimensionCount; ++i) {
UINT PaddedSize = InputTensor->Sizes[i + 2] + StartPadding[i] + EndPadding[i];
OutputTensor->Sizes[i + 2] = (PaddedSize - WindowSizes[i]) / Strides[i] + 1;
}
DimensionCount
Tipo: UINT
O número de dimensões espaciais do tensor de entrada InputTensor, que também corresponde ao número de dimensões da janela deslizante WindowSize. Esse valor também determina o tamanho das matrizes Strides, StartPadding e EndPadding. Ele deve ser definido como 2 quando InputTensor for 4D e 3 quando for um tensor 5D.
Strides
Tipo: _Field_size_(DimensionCount) const UINT*
Uma matriz que contém as etapas para as dimensões da janela deslizante de tamanhos { Height, Width }
quando o DimensionCount é definido como 2 ou { Depth, Height, Width }
quando definido como 3.
WindowSize
Tipo: _Field_size_(DimensionCount) const UINT*
Uma matriz que contém as dimensões da janela deslizante em { Height, Width }
quando DimensionCount é definido como 2 ou { Depth, Height, Width }
quando definido como 3.
StartPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Uma matriz que contém o número de elementos de preenchimento a serem aplicados ao início de cada dimensão espacial do tensor de entrada InputTensor. Os valores estão em { Height, Width }
quando DimensionCount for definido como 2 ou { Depth, Height, Width }
quando definido como 3.
EndPadding
Tipo: _Field_size_(DimensionCount) const UINT*
Uma matriz que contém o número de elementos de preenchimento a serem aplicados ao fim de cada dimensão espacial do tensor de entrada InputTensor. Os valores estão em { Height, Width }
quando DimensionCount for definido como 2 ou { Depth, Height, Width }
quando definido como 3.
Dilations
Tipo: _Field_size_(DimensionCount) const UINT*
Os valores para cada dimensão espacial do tensor de entrada InputTensor pelo qual um elemento dentro da janela deslizante é selecionado para cada elemento desse valor. Os valores estão em { Height, Width }
quando DimensionCount for definido como 2 ou { Depth, Height, Width }
quando definido como 3.
P
Tipo: UINT
O valor da variável P
na função de normalização LP Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P)
em que X1
a Xn
representam cada um dos valores dentro da janela deslizante. Em casos de uso comuns, esse valor é definido como 1 ou 2, representando a normalização L1 ou L2, respectivamente.
Comentários
DML_LP_POOLING1_OPERATOR_DESC é como DML_LP_POOLING_OPERATOR_DESC, exceto com uma matriz constante adicional Dilations. Quando Dilations é definido como { 1,1 } para entrada 4D ou { 1,1,1 } para recursos de entrada 5D, DML_LP_POOLING1_OPERATOR_DESC é equivalente a DML_LP_POOLING_OPERATOR_DESC.
Disponibilidade
Esse operador foi introduzido em DML_FEATURE_LEVEL_6_2.
Restrições de tensor
InputTensor e OutputTensor devem ter o mesmo DataType e DimensionCount.
Suporte a tensores
Tensor | Tipo | Contagens de dimensões compatíveis | Tipos de dados com suporte |
---|---|---|---|
InputTensor | Entrada | 4 a 5 | FLOAT32, FLOAT16 |
OutputTensor | Saída | 4 a 5 | FLOAT32, FLOAT16 |
Requisitos
Cabeçalho | directml.h |