Compartilhar via


estrutura DML_MAX_POOLING2_OPERATOR_DESC (directml.h)

Calcula o valor máximo entre os elementos dentro da janela deslizante sobre o tensor de entrada e, opcionalmente, retorna os índices dos valores máximos selecionados.

Sintaxe

struct DML_MAX_POOLING2_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_TENSOR_DESC *OutputIndicesTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *WindowSize;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
  const UINT            *Dilations;
};

Membros

InputTensor

Tipo: const DML_TENSOR_DESC*

Um tensor de entrada de tamanhos de { BatchCount, ChannelCount, Height, Width } se InputTensor.DimensionCount for 4 e { BatchCount, ChannelCount, Depth, Height, Weight } se InputTensor.DimensionCount for 5.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Um tensor de saída para o qual gravar os resultados. Os tamanhos do tensor de saída podem ser computados da seguinte maneira.

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

OutputIndicesTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Um tensor de saída opcional de índices para o tensor de entrada InputTensor dos valores máximos produzidos e armazenados noOutputTensor . Esses valores de índice são baseados em zero e tratam o tensor de entrada como uma matriz unidimensional contígua. Quando vários elementos dentro da janela deslizante têm o mesmo valor, os valores iguais posteriores são ignorados e o índice aponta para o primeiro valor encontrado. Os OutputTensor e OutputIndicesTensor têm os mesmos tamanhos tensores.

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 de Strides, StartPaddinge 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*

Os passos para as dimensões deslizantes da janela de tamanhos quando o DimensionCount é definido como 2 ou quando definido como 3.

WindowSize

Tipo: _Field_size_(DimensionCount) const UINT*

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*

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 é definido como 2 ou { Depth, Height, Width } quando definido como 3.

EndPadding

Tipo: _Field_size_(DimensionCount) const UINT*

O número de elementos de preenchimento a serem aplicados ao final de cada dimensão espacial do tensor de entrada InputTensor. Os valores estão em { Height, Width } quando DimensionCount é definido como 2 ou { Depth, Height, Width } quando definido como 3.

Dilations

Tipo: _Field_size_(DimensionCount) const UINT*

Os valores de cada dimensão espacial do tensor de entrada InputTensor pelos quais um elemento dentro da janela deslizante é selecionado para cada elemento desse valor. Os valores estão em { Height, Width } quando DimensionCount é definido como 2 ou { Depth, Height, Width } quando definido como 3.

Observações

DML_MAX_POOLING2_OPERATOR_DESC substitui a versão anterior DML_MAX_POOLING_OPERATOR1_DESC com uma matriz constante adicional Dilations. As duas versões são equivalentes quando dilations é definido como { 1,1 } para entrada 4D ou { 1,1,1 } para recursos de entrada 5D.

Disponibilidade

Este operador foi introduzido no DML_FEATURE_LEVEL_2_1.

Restrições do Tensor

  • InputTensor, OutputIndicesTensore OutputTensor devem ter o mesmo DimensionCount.
  • InputTensor e OutputTensor devem ter o mesmodatatype .

Suporte ao Tensor

DML_FEATURE_LEVEL_5_0 e superior

Tensor Tipo Contagens de dimensões com suporte Tipos de dados com suporte
InputTensor Entrada 4 a 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Saída 4 a 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputIndicesTensor Saída opcional 4 a 5 UINT64, UINT32

DML_FEATURE_LEVEL_3_0 e superior

Tensor Tipo Contagens de dimensões com suporte Tipos de dados com suporte
InputTensor Entrada 4 a 5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor Saída 4 a 5 FLOAT32, FLOAT16, INT8, UINT8
OutputIndicesTensor Saída opcional 4 a 5 UINT32

DML_FEATURE_LEVEL_2_1 e superior

Tensor Tipo Contagens de dimensões com suporte Tipos de dados com suporte
InputTensor Entrada 4 a 5 FLOAT32, FLOAT16
OutputTensor Saída 4 a 5 FLOAT32, FLOAT16
OutputIndicesTensor Saída opcional 4 a 5 UINT32

Requisitos

Requisito Valor
de cliente com suporte mínimo Windows 10, versão 2004 (10.0; Build 19041)
servidor com suporte mínimo Windows Server, versão 2004 (10.0; Build 19041)
cabeçalho directml.h