다음을 통해 공유


DML_MAX_POOLING1_OPERATOR_DESC 구조체(directml.h)

입력 텐서를 통해 슬라이딩 윈도우 내 요소의 최대값을 계산하고 선택적으로 선택한 최대값의 인덱스를 반환합니다.

통사론

struct DML_MAX_POOLING1_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *OutputTensor;
  const DML_TENSOR_DESC *OutputIndicesTensor;
  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;
}

OutputIndicesTensor

형식: _Maybenull_ const DML_TENSOR_DESC*

OutputTensor생성 및 저장되는 최대값의 입력 텐서 InputTensor 대한 인덱스의 선택적 출력 텐서입니다. 이러한 인덱스 값은 0부터 시작하며 입력 텐서를 연속적인 1차원 배열로 처리합니다. 슬라이딩 윈도우 내의 여러 요소의 값이 같으면 이후의 등가 값이 무시되고 인덱스가 발견된 첫 번째 값을 가리킵니다. OutputTensorOutputIndicesTensor 텐서 크기가 동일합니다.

DimensionCount

형식: UINT

InputTensor입력 텐서의 공간 차원 수이며, 이는 WindowSize슬라이딩 윈도우의 차원 수에도 해당합니다. 또한 이 값은 Strides, StartPaddingEndPadding 배열의 크기를 결정합니다. InputTensor 4D인 경우 2로 설정하고 5D 텐서인 경우 3으로 설정해야 합니다.

Strides

형식: _Field_size_(DimensionCount) 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 } 있습니다.

발언

OutputIndicesTensor NULL로 설정된 경우 이 연산자는 DML_MAX_POOLING_OPERATOR_DESC동일합니다.

이 연산자의 최신 버전인 DML_MAX_POOLING2_OPERATOR_DESCDML_FEATURE_LEVEL_2_1도입되었습니다.

가용도

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

Tensor 제약 조건

  • InputTensor, OutputIndicesTensorOutputTensor 동일한 DimensionCount있어야 합니다.
  • InputTensorOutputTensor 동일한 DataType있어야 합니다.

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
OutputIndicesTensor 선택적 출력 4~5 UINT64, UINT32

DML_FEATURE_LEVEL_3_0 이상

텐서 종류 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 4~5 FLOAT32, FLOAT16, INT8, UINT8
OutputTensor 출력 4~5 FLOAT32, FLOAT16, INT8, UINT8
OutputIndicesTensor 선택적 출력 4~5 UINT32

DML_FEATURE_LEVEL_2_0 이상

텐서 종류 지원되는 차원 수 지원되는 데이터 형식
InputTensor 입력 4~5 FLOAT32, FLOAT16
OutputTensor 출력 4~5 FLOAT32, FLOAT16
OutputIndicesTensor 선택적 출력 4~5 UINT32

요구 사항

요구
지원되는 최소 클라이언트 Windows 10 버전 2004(10.0; 빌드 19041)
지원되는 최소 서버 Windows Server 버전 2004(10.0; 빌드 19041)
헤더 directml.h