共用方式為


DML_RESAMPLE_GRAD_OPERATOR_DESC 結構 (directml.h)

計算 Resample (的反向傳播漸層,請參閱 DML_RESAMPLE1_OPERATOR_DESC) 。

DML_RESAMPLE1_OPERATOR_DESC 使用最接近的鄰近取樣或雙線性插補來重新調整輸入張量的任意維度。 假設InputGradientTensor的大小與對等DML_RESAMPLE1_OPERATOR_DESC的輸出相同,此運算子會產生與DML_RESAMPLE1_OPERATOR_DESC輸入相同的大小OutputGradientTensor

例如,假設 有一個DML_RESAMPLE1_OPERATOR_DESC ,它會在寬度中執行最接近的鄰近縮放 1.5 倍,而高度則為 0.5 倍。

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

請注意,輸入張量的第 0 個元素 (值為 1) 如何貢獻至輸出中的兩個元素、第 1 個元素 (值 2) 貢獻至輸出中的一個元素,而第 2 個和第 3 個元素 (值 3 和 4) 對輸出中沒有元素的貢獻。

對應的 DML_RESAMPLE_GRAD_OPERATOR_DESC 會執行下列動作。

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

請注意,OutputGradientTensor中的值代表原始DML_RESAMPLE1_OPERATOR_DESC運算子期間,該元素對OutputTensor的加權貢獻。

語法

struct DML_RESAMPLE_GRAD_OPERATOR_DESC {
  const DML_TENSOR_DESC  *InputGradientTensor;
  const DML_TENSOR_DESC  *OutputGradientTensor;
  DML_INTERPOLATION_MODE InterpolationMode;
  UINT                   DimensionCount;
  const FLOAT            *Scales;
  const FLOAT            *InputPixelOffsets;
  const FLOAT            *OutputPixelOffsets;
};

成員

InputGradientTensor

類型:const DML_TENSOR_DESC*

傳入漸層張量。 這通常是從上層的反向傳播輸出取得。 一般而言,這個張量的大小與正向中對應DML_RESAMPLE1_OPERATOR_DESC的輸出大小相同。

OutputGradientTensor

類型:const DML_TENSOR_DESC*

包含 backpropagated 漸層的輸出張量。 一般而言,這個張量的大小與正向中對應DML_RESAMPLE1_OPERATOR_DESC的輸入大小相同。

InterpolationMode

類型: DML_INTERPOLATION_MODE

請參閱DML_RESAMPLE1_OPERATOR_DESC中的InterpolationMode

DimensionCount

類型: UINT

ScalesInputPixelOffsetsOutputPixelOffsets陣列中的元素數目。 此值必須等於InputGradientTensorOutputGradientTensor中提供的DimensionCount

Scales

類型:_Field_size_ (DimensionCount) const FLOAT*

請參閱調整DML_RESAMPLE1_OPERATOR_DESC

InputPixelOffsets

類型:_Field_size_ (DimensionCount) const FLOAT*

請參閱DML_RESAMPLE1_OPERATOR_DESC中的InputPixelOffsets

OutputPixelOffsets

類型:_Field_size_ (DimensionCount) const FLOAT*

請參閱DML_RESAMPLE1_OPERATOR_DESC中的OutputPixelOffsets

可用性

這個運算子是在 中 DML_FEATURE_LEVEL_3_0 引進的。

Tensor 條件約束

InputGradientTensorOutputGradientTensor 必須具有相同 的 DataTypeDimensionCount

Tensor 支援

DML_FEATURE_LEVEL_5_1和更新版本

種類 支援的維度計數 支援的資料類型
InputGradientTensor 輸入 1 到 4 FLOAT32、FLOAT16
OutputGradientTensor 輸出 1 到 4 FLOAT32、FLOAT16

DML_FEATURE_LEVEL_3_0和更新版本

種類 支援的維度計數 支援的資料類型
InputGradientTensor 輸入 4 FLOAT32、FLOAT16
OutputGradientTensor 輸出 4 FLOAT32、FLOAT16

需求

   
最低支援的用戶端 Windows 10組建 20348
最低支援的伺服器 Windows 10組建 20348
標頭 directml.h