DML_LP_POOLING_OPERATOR_DESC结构 (directml.h)

计算输入张量上滑动窗口中元素的 Lp 规范化值。

语法

struct DML_LP_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;
  UINT                  P;
};

成员

InputTensor

类型:const DML_TENSOR_DESC*

大小{ BatchCount, ChannelCount, Height, Width } 为 4D 的输入张量,5D 的输入张量 { BatchCount, ChannelCount, Depth, 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

类型:_Field_size_(DimensionCount) const UINT*

一个数组,该数组包含当 DimensionCount 设置为 2 或设置为 3 时 { Depth, Height, Width }{ Height, Width } 滑动窗口尺寸的步幅。

WindowSize

类型:_Field_size_(DimensionCount) const UINT*

DimensionCount 设置为 { Depth, Height, Width } 2 或设置为 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 } 中。

P

类型:UINT

Lp 规范化函数中 P 变量的值 Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P),其中 X1 表示滑动窗口中每个值的 Xn。 在常见用例中,此值设置为 1 或 2,分别表示 L1 或 L2 规范化。

可用性

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

Tensor 约束

InputTensorOutputTensor 必须具有相同的 DataTypeDimensionCount

Tensor 支持

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

要求

要求 价值
标头 directml.h