Share via


estructura DML_MAX_POOLING2_OPERATOR_DESC (directml.h)

Calcula el valor máximo entre 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_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;
};

Miembros

InputTensor

Tipo: const DML_TENSOR_DESC*

Tensor de entrada de Tamaños{ 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 se van a 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 para el tensor de entrada InputTensor de los valores máximos generados y almacenados en OutputTensor. Estos valores de índice se basan en cero y tratan el tensor de entrada como una matriz unidimensional contigua. Cuando varios elementos de la ventana deslizante tienen el mismo valor, se omiten los valores iguales posteriores y el índice apunta al primer valor encontrado. OutputTensor y OutputIndicesTensor tienen los mismos tamaños de tensor.

DimensionCount

Tipo: UINT

Número de dimensiones espaciales del tensor input 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 matrices Strides, StartPadding y 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 { Height, Width } cuando DimensionCount se establece en 2 o { Depth, Height, Width } cuando se establece en 3.

WindowSize

Tipo: _Field_size_(DimensionCount) const UINT*

Dimensiones de la ventana deslizante en cuando DimensionCount se establece en { Height, Width } 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 cuando DimensionCount se establece en { Height, Width } 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 cuando DimensionCount se establece en { Height, Width } 2 o { Depth, Height, Width } cuando se establece en 3.

Dilations

Tipo: _Field_size_(DimensionCount) const UINT*

Los valores de cada dimensión espacial del tensor de entrada InputTensor por el que se selecciona un elemento dentro de la ventana deslizante para cada elemento de ese valor. Los valores se encuentran en cuando DimensionCount se establece en { Height, Width } 2 o { Depth, Height, Width } cuando se establece en 3.

Comentarios

DML_MAX_POOLING2_OPERATOR_DESC sustituye a la versión anterior DML_MAX_POOLING_OPERATOR1_DESC con una matriz constante adicional Dilations. Las dos versiones son equivalentes cuando Dilations se establece { 1,1 } en para la entrada 4D o { 1,1,1 } para las características de entrada 5D.

Disponibilidad

Este operador se introdujo en DML_FEATURE_LEVEL_2_1.

Restricciones tensor

  • InputTensor, OutputIndicesTensor y 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 Kind 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 Resultados 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 Kind Recuentos de dimensiones admitidos Tipos de datos admitidos
InputTensor Entrada De 4 a 5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor Resultados De 4 a 5 FLOAT32, FLOAT16, INT8, UINT8
OutputIndicesTensor Salida opcional De 4 a 5 UINT32

DML_FEATURE_LEVEL_2_1 y versiones posteriores

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

Requisitos

   
Cliente mínimo compatible Windows 10, versión 2004 (10.0; Compilación 19041)
Servidor mínimo compatible Windows Server, versión 2004 (10.0; Compilación 19041)
Encabezado directml.h