共用方式為


DML_SLICE_GRAD_OPERATOR_DESC結構 (directml.h)

計算配量 (的反向傳播漸層,請參閱 DML_SLICE1_OPERATOR_DESC) 。

回想一 下,DML_SLICE1_OPERATOR_DESC 擷取輸入張量的子系。 假設 InputGradientTensor 的大小與對等DML_SLICE1_OPERATOR_DESC輸出相同,這個運算符會產生 OutputGradientTensor,其大小與輸入DML_SLICE1_OPERATOR_DESC相同。 交叉分析的專案會傳播至輸出,而所有其他元素都會設定為0。

例如,請考慮從張量擷取下列專案的 DML_SLICE1_OPERATOR_DESC

InputTensor            OutputTensor
[[a, b, c, d],
 [e, f, g, h],   Slice   [[a, c],
 [i, j, k, l],    -->     [i, k]]
 [m, n, o, p]]

如果提供與上述範例相同的 InputWindowOffsetsSizes/Strides/,則此運算符會執行下列轉換。

InputGradientTensor       OutputGradientTensor
                             [[a, 0, c, 0],
      [[a, c],   SliceGrad    [0, 0, 0, 0],
       [i, k]]      -->       [i, 0, k, 0],
                              [0, 0, 0, 0]]

語法

struct DML_SLICE_GRAD_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputGradientTensor;
  const DML_TENSOR_DESC *OutputGradientTensor;
  UINT                  DimensionCount;
  const UINT            *InputWindowOffsets;
  const UINT            *InputWindowSizes;
  const INT             *InputWindowStrides;
};

成員

InputGradientTensor

類型: const DML_TENSOR_DESC*

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

OutputGradientTensor

類型: const DML_TENSOR_DESC*

包含反向漸層的輸出張量。 一般而言,此張量的大小會與正向傳遞中對應DML_SLICE1_OPERATOR_DESC輸入相同。

DimensionCount

類型: UINT

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

InputWindowOffsets

類型:_Field_size_ (DimensionCount) const UINT*

請參閱 DML_SLICE1_OPERATOR_DESC 中的 InputWindowOffsets

InputWindowSizes

類型:_Field_size_ (DimensionCount) const UINT*

請參閱 DML_SLICE1_OPERATOR_DESC 中的 InputWindowSizes

InputWindowStrides

類型:_Field_size_ (DimensionCount) const UINT*

請參閱 DML_SLICE1_OPERATOR_DESC 中的 InputWindowStrides

請注意,不同於 DML_SLICE1_OPERATOR_DESC,此運算子需要非零的跨位。 這是因為有零步調,所以輸入元素應該對應至每個輸出元素,因此無法執行反向傳播。 如同 DML_SLICE1_OPERATOR_DESC,負步調會沿著該軸翻轉輸入視窗方向。

可用性

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

Tensor 條件約束

InputGradientTensorOutputGradientTensor 必須具有相同 的 DataTypeDimensionCount

Tensor 支援

DML_FEATURE_LEVEL_4_1和更新版本

種類 支援的維度計數 支援的資料類型
InputGradientTensor 輸入 1 到 8 FLOAT64、FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8
OutputGradientTensor 輸出 1 到 8 FLOAT64、FLOAT32、FLOAT16、INT64、INT32、INT16、INT8、UINT64、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_3_1和更新版本

種類 支援的維度計數 支援的資料類型
InputGradientTensor 輸入 1 到 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
OutputGradientTensor 輸出 1 到 8 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8

DML_FEATURE_LEVEL_3_0和更新版本

種類 支援的維度計數 支援的資料類型
InputGradientTensor 輸入 4 到 5 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8
OutputGradientTensor 輸出 4 到 5 FLOAT32、FLOAT16、INT32、INT16、INT8、UINT32、UINT16、UINT8

規格需求

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