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 時,大小{ BatchCount, ChannelCount, Height, Width } 的輸入張量,如果 InputTensor.DimensionCount 為 5,則為 { 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 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 時,{ Height, Width } 滑動視窗的維度,或設定為 3 時 { Depth, 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中引進的。

Tensor 條件約束

InputTensorOutputTensor 必須具有相同 的 DataType,且 DimensionCount

Tensor 支援

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

要求

要求 價值
標頭 directml.h