다음을 통해 공유


DML_RESAMPLE_GRAD1_OPERATOR_DESC 구조체(directml.h)

DML_RESAMPLE2_OPERATOR_DESC 대한 백프로포지션 그라데이션을 계산합니다.

DML_RESAMPLE2_OPERATOR_DESC 가장 인접한 샘플링 또는 쌍선형 보간을 사용하여 입력 텐서의 임의 크기를 다시 조정합니다. 동일한 DML_RESAMPLE2_OPERATOR_DESC 출력과 크기가 같은 InputGradientTensor가 있는 경우 이 연산자는 DML_RESAMPLE2_OPERATOR_DESC입력과 크기가 같은 OutputGradientTensor를 생성합니다.

예를 들어 너비가 1.5x이고 높이가 0.5배인 가장 가까운 인접 크기 조정을 수행하는 DML_RESAMPLE2_OPERATOR_DESC 고려합니다.

InputTensor           OutputTensor
[[1, 2],   Resample    [1, 1, 2]
 [3, 4]]      -->      

입력 텐서의 0번째 요소(값 1)가 출력의 두 요소에 어떻게 기여하는지 확인합니다. 첫 번째 요소(값 2 포함)는 출력의 한 요소에 기여합니다. 및 2번째 및 3번째 요소(값 3 및 4)는 출력의 요소에 영향을 주지 않습니다.

해당 DML_RESAMPLE_GRAD1_OPERATOR_DESC 다음을 수행합니다.

InputGradientTensor           OutputGradientTensor
    [4, 5, 6]      ResampleGrad    [[9, 6],
                       -->          [0, 0]]

OutputGradientTensor의 값은 원래 DML_RESAMPLE2_OPERATOR_DESC 연산자 동안 OutputTensor에 대한 해당 요소의 가중치 기여도를 나타냅니다.

중요합니다

이 API는 DirectML 독립 실행형 재배포 가능 패키지의 일부로 사용할 수 있습니다( Microsoft.AI.DirectML 버전 1.9 이상 참조). 또한 DirectML 버전 기록 참조하세요.

문법

struct DML_RESAMPLE_GRAD1_OPERATOR_DESC
{
    const DML_TENSOR_DESC* InputGradientTensor;
    const DML_TENSOR_DESC* OutputGradientTensor;
    DML_INTERPOLATION_MODE InterpolationMode;
    DML_AXIS_DIRECTION RoundingDirection;
    UINT DimensionCount;
    _Field_size_(DimensionCount) const FLOAT* Scales;
    _Field_size_(DimensionCount) const FLOAT* InputPixelOffsets;
    _Field_size_(DimensionCount) const FLOAT* OutputPixelOffsets;
};

구성원

InputGradientTensor

형식: const DML_TENSOR_DESC*

들어오는 그라데이션 텐서입니다. 이는 일반적으로 이전 계층의 백프로포지션 출력에서 가져옵니다. 일반적으로 이 텐서의 크기는 전달 패스에 있는 해당 DML_RESAMPLE2_OPERATOR_DESC출력과 같습니다.

OutputGradientTensor

형식: const DML_TENSOR_DESC*

백프로파이팅된 그라데이션을 포함하는 출력 텐서입니다. 일반적으로 이 텐서의 크기는 전달 패스에 있는 해당 DML_RESAMPLE2_OPERATOR_DESC입력과 같습니다.

InterpolationMode

형식: DML_INTERPOLATION_MODE

DML_RESAMPLE2_OPERATOR_DESC::InterpolationMode를 참조하세요.

RoundingDirection

형식: DML_AXIS_DIRECTION

DML_RESAMPLE2_OPERATOR_DESC::RoundingDirection을 참조하세요.

DimensionCount

형식: UINT

Scales, InputPixelOffsetsOutputPixelOffsets 배열의 요소 수입니다. 이 값은 InputGradientTensorOutputGradientTensor에 제공된 DimensionCount와 같아야 합니다.

Scales

형식: _Field_size_(DimensionCount) const FLOAT*

DML_RESAMPLE2_OPERATOR_DESC::Scales를 참조하세요.

InputPixelOffsets

형식: _Field_size_(DimensionCount) const FLOAT*

DML_RESAMPLE2_OPERATOR_DESC::InputPixelOffsets를 참조하세요.

OutputPixelOffsets

형식: _Field_size_(DimensionCount) const FLOAT*

DML_RESAMPLE2_OPERATOR_DESC::OutputPixelOffsets를 참조하세요.

비고

이 연산자는 InterpolationModeDML_INTERPOLATION_MODE_LINEAR;로 설정된 경우 DML_RESAMPLE_GRAD_OPERATOR_DESC 동일합니다. 또는 InterpolationModeDML_INTERPOLATION_MODE_NEAREST_NEIGHBOR 설정되고 RoundingDirectionDML_AXIS_DIRECTION_DECREASINGOutputPixelOffsets가 추가로 -0.5로 조정되는 경우

가용도

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

Tensor 제약 조건

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

Tensor 지원

텐서 친절한 지원되는 차원 수 지원되는 데이터 형식
입력 그라디언트 텐서 입력 1~4 FLOAT32, FLOAT16
출력그라디언트 텐서 출력 1~4 FLOAT32, FLOAT16

요구 사항

   
머리글 directml.h