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*
具有 4D 大小和 { BatchCount, ChannelCount, Depth, Height, Width }
5D 大小的{ 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 的维度数。 此值还确定 Strides、 StartPadding 和 EndPadding 数组的大小。 当 InputTensor 为 4D 时,它应设置为 2,当它是 5D 张量时,它应设置为 3。
Strides
类型:_Field_size_ (DimensionCount) 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 }
在 中。
P
类型: UINT
Lp 规范化函数 Y = (X1^P + X2^P + ... + Xn^P) ^ (1/P)
中变量的值P
,其中X1
表示Xn
滑动窗口中的每个值。 在常见用例中,此值设置为 1 或 2,分别表示 L1 或 L2 规范化。
可用性
此运算符是在 中引入的 DML_FEATURE_LEVEL_1_0
。
张量约束
InputTensor 和 OutputTensor 必须具有相同的 DataType 和 DimensionCount。
Tensor 支持
张 | 种类 | 支持的维度计数 | 支持的数据类型 |
---|---|---|---|
InputTensor | 输入 | 4 到 5 | FLOAT32、FLOAT16 |
OutputTensor | 输出 | 4 到 5 | FLOAT32、FLOAT16 |
要求
要求 | 值 |
---|---|
Header | directml.h |
反馈
https://aka.ms/ContentUserFeedback。
即将发布:在整个 2024 年,我们将逐步淘汰作为内容反馈机制的“GitHub 问题”,并将其取代为新的反馈系统。 有关详细信息,请参阅:提交和查看相关反馈