在輸入張量上方滑動視窗內元素的平均值。
這很重要
此 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 的維度數目。 這個值也會決定 Strides、StartPadding 和 EndPadding 陣列的大小。 當 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 } 設定為 2,或設定為 3 時,這些值位於 { Depth, Height, Width } 中。
EndPadding
類型:_Field_size_(DimensionCount) const UINT*
要套用至輸入張量 InputTensor 之每個空間維度結尾的填補元素數目。 當 { Height, Width } 設定為 2,或設定為 3 時,這些值位於 { Depth, Height, Width } 中。
Dilations
類型:_Field_size_(DimensionCount) const UINT*
輸入張量輸入張量 InputTensor 的每個空間維度值,為該值的每個元素選取滑動視窗內的元素。 當 { Height, Width } 設定為 2,或設定為 3 時,這些值位於 { Depth, Height, Width } 中。
IncludePadding
類型: BOOL
指出在計算滑動視窗內所有元素的平均值時,是否要在空間邊緣周圍包含填補專案。 當值設定為 FALSE 時,填補元素不會算作平均計算之除數值的一部分。
備註
DML_AVERAGE_POOLING1_OPERATOR_DESC 就像 DML_AVERAGE_POOLING_OPERATOR_DESC,除了其他常數陣列 Dilations 之外。 當 4D 輸入的 Dilations 設定為 { 1,1 } 時,5D 輸入功能的 { 1,1,1 } 則 DML_AVERAGE_POOLING1_OPERATOR_DESC 等於 DML_AVERAGE_POOLING_OPERATOR_DESC。
可用性
此運算子是在 DML_FEATURE_LEVEL_6_2 中引進的。
Tensor 條件約束
InputTensor 和 OutputTensor 必須具有相同 的 DataType 和 DimensionCount。
Tensor 支援
| 張量 | 仁慈 (if context refers to kindness) | 支援的維度計數 | 支援的數據類型 |
|---|---|---|---|
| InputTensor 的 | 輸入 | 4 到 5 | FLOAT32,FLOAT16 |
| OutputTensor | 輸出 | 4 到 5 | FLOAT32,FLOAT16 |
需求
| 頁眉 | directml.h |