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차원 배열로 처리합니다. 슬라이딩 윈도우 내의 여러 요소의 값이 같으면 이후의 등가 값이 무시되고 인덱스가 발견된 첫 번째 값을 가리킵니다. OutputTensor 및 OutputIndicesTensor 텐서 크기가 동일합니다.
DimensionCount
형식: UINT
InputTensor
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입력 텐서의 각 공간 차원 끝에 적용할 { 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, OutputIndicesTensor및 OutputTensor 동일한 DimensionCount있어야 합니다.
- InputTensor 및 OutputTensor 동일한 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 |