다음을 통해 공유


DML_UPSAMPLE_2D_OPERATOR_DESC 구조체(directml.h)

출력 텐서에 결과를 기록하여 입력 이미지를 업샘플링합니다. 차원의 순서는 NCHW(BatchSize, ChannelCount, Height, Width) 또는 NCDHW(BatchSize, ChannelCount, Depth, Height, Width)여야 하지만 데이터가 다른 형식으로 저장되는 경우 보폭을 사용할 수 있습니다. DML_RESAMPLE_OPERATOR_DESC 달리 마지막 2차원(높이 및 너비)만 업샘플링할 수 있습니다.

사용 가능한 경우 DML_UPSAMPLE_2D_OPERATOR_DESC 보다 유연한 버전이므로 DML_RESAMPLE_OPERATOR_DESC 선호해야 합니다.

구문

struct DML_UPSAMPLE_2D_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputTensor;
  const DML_TENSOR_DESC  *OutputTensor;
  DML_SIZE_2D            ScaleSize;
  DML_INTERPOLATION_MODE InterpolationMode;
};

멤버

InputTensor

형식: const DML_TENSOR_DESC*

입력 데이터를 포함하는 텐서입니다. InputTensor의 예상 차원은 { InputBatchCount, InputChannelCount, InputHeight, InputWidth } 4D용이고 { InputBatchCount, InputChannelCount, InputDepth, InputHeight, InputWidth } 5D의 경우 입니다.

OutputTensor

형식: const DML_TENSOR_DESC*

입력 데이터를 포함하는 텐서입니다. OutputTensor의 예상 차원은 4D용이고 { InputBatchCount, InputChannelCount, InputDepth, InputHeight * HeightScale, InputWidth * WidthScale } 5D의 경우 입니다{ InputBatchCount, InputChannelCount, InputHeight * HeightScale, InputWidth * WidthScale }.

ScaleSize

형식: DML_SIZE_2D

입력을 업샘플링할 때 적용할 UINT 형식의 너비 및 높이 배율입니다. 0 < ScaleSize.Height <= UINT_MAX / InputHeight0 < ScaleSize.Width <= UINT_MAX / InputWidth을 참조하세요.

InterpolationMode

형식: DML_INTERPOLATION_MODE

이 필드는 출력 픽셀을 선택하는 데 사용되는 보간 종류를 결정합니다.

  • DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR. 각 출력 요소에 대해 해당 픽셀 가운데에 가장 가까운 입력 요소를 선택하는 가장 가까운 인접 알고리즘을 사용합니다.
  • DML_INTERPOLATION_MODE_LINEAR. 총 4개 요소에 대해 높이 차원의 가장 가까운 인접 입력 요소 2개와 너비 차원의 가장 가까운 2개 입력 요소의 가중 평균을 수행하여 출력 요소를 계산하는 쌍선 형 알고리즘을 사용합니다. 입/출력 DimensionCount가 5인 경우에도 마찬가지입니다. 즉, 샘플은 너비 및 높이 차원을 따라 평균화되며 일괄 처리, 채널 또는 깊이를 따라서는 절대로 평균화되지 않습니다.

가용성

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

텐서 제약 조건

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

텐서 지원

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

요구 사항

요구 사항
헤더 directml.h