Compartir a través de


estructura DML_MAX_POOLING1_OPERATOR_DESC (directml.h)

Calcula el valor máximo en los elementos de la ventana deslizante sobre el tensor de entrada y, opcionalmente, devuelve los índices de los valores máximos seleccionados.

Sintaxis

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

Miembros

InputTensor

Tipo: const DML_TENSOR_DESC*

Tensor de entrada de tamaños de { BatchCount, ChannelCount, Height, Width } si InputTensor.DimensionCount es 4 y { BatchCount, ChannelCount, Depth, Height, Weight } si InputTensor.DimensionCount es 5.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Tensor de salida en el que escribir los resultados. Los tamaños del tensor de salida se pueden calcular de la siguiente manera.

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*

Tensor de salida opcional de índices en el tensor de entrada InputTensor de los valores máximos generados y almacenados en el OutputTensor. Estos valores de índice se basan en cero y tratan el tensor de entrada como una matriz unidimensional contigua. Cuando varios elementos dentro de la ventana deslizante tienen el mismo valor, se omiten los valores iguales posteriores y el índice apunta al primer valor encontrado. Tanto el OutputTensor como el OutputIndicesTensor tienen los mismos tamaños de tensor.

DimensionCount

Tipo: UINT de

Número de dimensiones espaciales del tensor de entrada InputTensor, que también corresponde al número de dimensiones de la ventana deslizante WindowSize. Este valor también determina el tamaño de las Strides, StartPaddingy matrices de EndPadding. Debe establecerse en 2 cuando inputTensor es 4D y 3 cuando es un tensor 5D.

Strides

Tipo: _Field_size_(DimensionCount) const UINT*

Los pasos de las dimensiones de ventana deslizante de tamaños cuando el DimensionCount de se establece en 2 o cuando se establece en 3.

WindowSize

Tipo: _Field_size_(DimensionCount) const UINT*

Las dimensiones de la ventana deslizante de { Height, Width } cuando dimensionCount se establece en 2 o { Depth, Height, Width } cuando se establece en 3.

StartPadding

Tipo: _Field_size_(DimensionCount) const UINT*

Número de elementos de relleno que se aplicarán al principio de cada dimensión espacial del tensor de entrada InputTensor. Los valores se encuentran en { Height, Width } cuando DimensionCount se establece en 2 o { Depth, Height, Width } cuando se establece en 3.

EndPadding

Tipo: _Field_size_(DimensionCount) const UINT*

Número de elementos de relleno que se aplicarán al final de cada dimensión espacial del tensor de entrada InputTensor. Los valores se encuentran en { Height, Width } cuando DimensionCount se establece en 2 o { Depth, Height, Width } cuando se establece en 3.

Observaciones

Cuando OutputIndicesTensor se establece en NULL, este operador equivale a DML_MAX_POOLING_OPERATOR_DESC.

Se introdujo una versión más reciente de este operador, DML_MAX_POOLING2_OPERATOR_DESC, en DML_FEATURE_LEVEL_2_1.

Disponibilidad

Este operador se introdujo en DML_FEATURE_LEVEL_2_0.

Restricciones tensor

  • InputTensor, OutputIndicesTensory OutputTensor deben tener el mismo DimensionCount.
  • InputTensor y OutputTensor deben tener el mismo DataType.

Compatibilidad con Tensor

DML_FEATURE_LEVEL_5_0 y versiones posteriores

Tensor Amable Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada De 4 a 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputTensor Salida De 4 a 5 FLOAT32, FLOAT16, INT64, INT32, INT16, INT8, UINT64, UINT32, UINT16, UINT8
OutputIndicesTensor Salida opcional De 4 a 5 UINT64, UINT32

DML_FEATURE_LEVEL_3_0 y versiones posteriores

Tensor Amable Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada De 4 a 5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor Salida De 4 a 5 FLOAT32, FLOAT16, INT8, UINT8
OutputIndicesTensor Salida opcional De 4 a 5 UINT32

DML_FEATURE_LEVEL_2_0 y versiones posteriores

Tensor Amable Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada De 4 a 5 FLOAT32, FLOAT16
OutputTensor Salida De 4 a 5 FLOAT32, FLOAT16
OutputIndicesTensor Salida opcional De 4 a 5 UINT32

Requisitos

Requisito Valor
cliente mínimo admitido Windows 10, versión 2004 (10.0; Compilación 19041)
servidor mínimo admitido Windows Server, versión 2004 (10.0; Compilación 19041)
encabezado de directml.h