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