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_RESAMPLE2_OPERATOR_DESC::InterpolationMode를 참조하세요.
RoundingDirection
DML_RESAMPLE2_OPERATOR_DESC::RoundingDirection을 참조하세요.
DimensionCount
형식: UINT
Scales, InputPixelOffsets 및 OutputPixelOffsets 배열의 요소 수입니다. 이 값은 InputGradientTensor 및 OutputGradientTensor에 제공된 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를 참조하세요.
비고
이 연산자는 InterpolationMode가 DML_INTERPOLATION_MODE_LINEAR;로 설정된 경우 DML_RESAMPLE_GRAD_OPERATOR_DESC 동일합니다. 또는 InterpolationMode가 DML_INTERPOLATION_MODE_NEAREST_NEIGHBOR 설정되고 RoundingDirection이 DML_AXIS_DIRECTION_DECREASINGOutputPixelOffsets가 추가로 -0.5로 조정되는 경우
가용도
이 연산자는 DML_FEATURE_LEVEL_5_1 도입되었습니다.
Tensor 제약 조건
InputGradientTensor 및 OutputGradientTensor 에는 동일한 DataType 및 DimensionCount가 있어야 합니다.
Tensor 지원
| 텐서 | 친절한 | 지원되는 차원 수 | 지원되는 데이터 형식 |
|---|---|---|---|
| 입력 그라디언트 텐서 | 입력 | 1~4 | FLOAT32, FLOAT16 |
| 출력그라디언트 텐서 | 출력 | 1~4 | FLOAT32, FLOAT16 |
요구 사항
| 머리글 | directml.h |