DML_AVERAGE_POOLING1_OPERATOR_DESC结构(directml.h)

在输入张量上滑动窗口中的元素中,平均值。

重要

此 API 作为 DirectML 独立可再发行组件包的一部分提供(请参阅 Microsoft.AI.DirectML 版本 1.13 及更高版本。 另请参阅 directML 版本历史记录

语法

struct DML_AVERAGE_POOLING1_OPERATOR_DESC
{
    const DML_TENSOR_DESC* InputTensor;
    const DML_TENSOR_DESC* OutputTensor;
    UINT DimensionCount;
    _Field_size_(DimensionCount) const UINT* Strides;
    _Field_size_(DimensionCount) const UINT* WindowSize;
    _Field_size_(DimensionCount) const UINT* StartPadding;
    _Field_size_(DimensionCount) const UINT* EndPadding;
    _Field_size_(DimensionCount) const UINT* Dilations;
    BOOL IncludePadding;
};

成员

InputTensor

类型: const DML_TENSOR_DESC*

4D 和 5D { BatchCount, ChannelCount, Height, Width }{ BatchCount, ChannelCount, Depth, Height, Weight }输入张量。

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*

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

WindowSize

类型:_Field_size_(DimensionCount) const UINT*

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

StartPadding

类型:_Field_size_(DimensionCount) const UINT*

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

EndPadding

类型:_Field_size_(DimensionCount) const UINT*

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

Dilations

类型:_Field_size_(DimensionCount) const UINT*

输入张量 InputTensor 的每个空间维度的值,在该维度中为该值的每个元素选择滑动窗口中的元素。 这些值位于 { Height, Width }DimensionCount 设置为 2 或 { Depth, Height, Width } 设置为 3 时。

IncludePadding

类型: BOOL

指示在计算滑动窗口内所有元素的平均值时是否在空间边缘周围包含填充元素。 当该值设置为 FALSE 时,填充元素不会算作平均值计算的除数值的一部分。

注解

DML_AVERAGE_POOLING1_OPERATOR_DESC 类似于 DML_AVERAGE_POOLING_OPERATOR_DESC,但还有一个额外的常量数组 Dilations。 当 4D 输入的 Dilations 设置为 { 1,1 } 或 { 1,1,1 } 表示 5D 输入功能时, DML_AVERAGE_POOLING1_OPERATOR_DESC 等于 DML_AVERAGE_POOLING_OPERATOR_DESC

可用性

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

Tensor 约束

InputTensorOutputTensor 必须具有相同 的 DataTypeDimensionCount

Tensor 支持

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

要求

   
页眉 directml.h