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_RESAMPLE1_OPERATOR_DESC中的InterpolationMode。
DimensionCount
類型: UINT
Scales、InputPixelOffsets和OutputPixelOffsets陣列中的元素數目。 此值必須等於InputGradientTensor和OutputGradientTensor中提供的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 條件約束
InputGradientTensor 和 OutputGradientTensor 必須具有相同 的 DataType 和 DimensionCount。
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 |