DML_MAX_POOLING_OPERATOR_DESC结构 (directml.h)

通过输入张量计算滑动窗口中元素的最大值。

语法

struct DML_MAX_POOLING_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *WindowSize;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
};

成员

InputTensor

类型: const DML_TENSOR_DESC*

如果 InputTensor.DimensionCount 为 4,如果 InputTensor.DimensionCount 为 5,{ BatchCount, ChannelCount, Depth, Height, Weight }则为 Size{ BatchCount, ChannelCount, Height, Width } 的输入张量。

OutputTensor

类型: const DML_TENSOR_DESC*

要写入结果的输出张量。 输出张量的大小可按如下方式计算。

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

类型: UINT

输入张量 InputTensor 的空间维度数,也对应于滑动窗口 WindowSize 的维度数。 此值还确定 StridesStartPaddingEndPadding 数组的大小。 当 InputTensor 为 4D 时,它应设置为 2,如果是 5D 张量,则设置为 3。

Strides

类型: const UINT*

DimensionCount 设置为 2 或{ Depth, Height, Width }设置为 3 时,滑动窗口尺寸的{ Height, Width }步幅。

WindowSize

类型:_Field_size_ (DimensionCount) const UINT*

当 DimensionCount 设置为 2 或{ Depth, Height, Width }设置为 3 时,在 中{ Height, Width }滑动窗口的尺寸。

StartPadding

类型:_Field_size_ (DimensionCount) const UINT*

要应用于输入张量 InputTensor 的每个空间维度的开头的填充元素数。 当 DimensionCount 设置为 2 或设置为 3 时,{ Depth, Height, Width }这些值在 { Height, Width } 中。

EndPadding

类型:_Field_size_ (DimensionCount) const UINT*

要应用于输入张量 InputTensor 的每个空间维度末尾的填充元素数。 当 DimensionCount 设置为 2 或设置为 3 时,{ Depth, Height, Width }这些值在 { Height, Width } 中。

注解

中引入了DML_FEATURE_LEVEL_2_0此运算符的较新版本(DML_MAX_POOLING1_OPERATOR_DESC)。

可用性

此运算符是在 中 DML_FEATURE_LEVEL_1_0引入的。

张量约束

InputTensorOutputTensor 必须具有相同的 DataTypeDimensionCount

张量支持

DML_FEATURE_LEVEL_5_0 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 4 到 5 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8
OutputTensor 输出 4 到 5 FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_3_0 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 4 到 5 FLOAT32、FLOAT16、INT8、UINT8
OutputTensor 输出 4 到 5 FLOAT32、FLOAT16、INT8、UINT8

DML_FEATURE_LEVEL_1_0 及更高版本

种类 支持的维度计数 支持的数据类型
InputTensor 输入 4 到 5 FLOAT32、FLOAT16
OutputTensor 输出 4 到 5 FLOAT32、FLOAT16

要求

要求
Header directml.h