다음을 통해 공유


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이고 InputTensor.DimensionCount 5이면 { BatchCount, ChannelCount, Depth, Height, Weight }크기의 입력 텐서{ 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, StartPaddingEndPadding 배열의 크기를 결정합니다. InputTensor 4D인 경우 2로 설정하고 5D 텐서인 경우 3으로 설정해야 합니다.

Strides

형식: const UINT*

DimensionCount 2로 설정되거나 3으로 설정되면 { Depth, Height, Width }{ 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_MAX_POOLING1_OPERATOR_DESCDML_FEATURE_LEVEL_2_0도입되었습니다.

가용도

이 연산자는 DML_FEATURE_LEVEL_1_0도입되었습니다.

Tensor 제약 조건

InputTensorOutputTensor 동일한 DataTypeDimensionCount있어야 합니다.

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