共用方式為


DML_CONVOLUTION_INTEGER_OPERATOR_DESC結構 (directml.h)

使用 InputTensor 執行 FilterTensor 的卷積。 這個運算子會對整數數據執行正向卷積。 選擇性的零點張量也可以用來從輸入和篩選張量中減去零點值。

語法

struct DML_CONVOLUTION_INTEGER_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *InputZeroPointTensor;
  const DML_TENSOR_DESC *FilterTensor;
  const DML_TENSOR_DESC *FilterZeroPointTensor;
  const DML_TENSOR_DESC *OutputTensor;
  UINT                  DimensionCount;
  const UINT            *Strides;
  const UINT            *Dilations;
  const UINT            *StartPadding;
  const UINT            *EndPadding;
  UINT                  GroupCount;
};

成員

InputTensor

類型: const DML_TENSOR_DESC*

包含輸入數據的張量。 InputTensor 的預期維度為 { BatchCount, InputChannelCount, InputHeight, InputWidth }

InputZeroPointTensor

類型:_Maybenull_ const DML_TENSOR_DESC*

選擇性張量,其中包含輸入零點數據。 InputZeroPointTensor 的預期維度為 { 1, 1, 1, 1 }

FilterTensor

類型: const DML_TENSOR_DESC*

包含篩選數據的張量。 FilterTensor 的預期維度為 { FilterBatchCount, FilterChannelCount, FilterHeight, FilterWidth }

FilterZeroPointTensor

類型:_Maybenull_ const DML_TENSOR_DESC*

選擇性張量,其中包含篩選零點數據。 FilterZeroPointTensor 的預期維度是{ 1, 1, 1, 1 }如果需要每張量仲裁,或{ 1, OutputChannelCount, 1, 1 }如果需要每個通道的量化。

OutputTensor

類型: const DML_TENSOR_DESC*

要寫入結果的張量。 OutputTensor 的預期維度為 { BatchCount, OutputChannelCount, OutputHeight, OutputWidth }

DimensionCount

類型: UINT

卷積作業的空間維度數目。 空間維度是卷積 FilterTensor 的較低維度。 此值也會決定 StridesDilationsStartPadding 和 EndPadding 陣列的大小。 僅支援 2 的值。

Strides

類型:_Field_size_ (DimensionCount) const UINT*

數位,包含捲積作業的步進。 這些步幅會套用至卷積篩選條件。 它們與 DML_TENSOR_DESC中包含的張量步進分開。

Dilations

類型:_Field_size_ (DimensionCount) const UINT*

陣列,包含卷積運算的dilations。 Dilation 是套用至篩選核心元素的步進。 這會產生模擬較大篩選核心的效果,方法是將內部篩選核心元素填補為零。

StartPadding

類型:_Field_size_ (DimensionCount) const UINT*

數位,包含要套用至篩選條件之每個空間維度開頭的填補值,以及卷積運算的輸入張量。

EndPadding

類型:_Field_size_ (DimensionCount) const UINT*

數位,包含要套用至篩選條件之每個空間維度結尾的填補值,以及捲積作業的輸入張量。

GroupCount

類型: UINT

要分割卷積作業的群組數目。 GroupCount 可用來藉由將 GroupCount 設定為等於輸入通道計數來達到深度卷積。 這會將卷積分成每個輸入通道的個別卷積。

可用性

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

Tensor 條件約束

  • FilterZeroPointTensorInputZeroPointTensor 必須具有相同的 DimensionCount
  • FilterTensorInputTensorOutputTensor 必須具有相同的 DimensionCount
  • InputTensorInputZeroPointTensor 必須具有相同 的 DataType
  • FilterTensorFilterZeroPointTensor 必須具有相同 的 DataType

Tensor 支援

DML_FEATURE_LEVEL_4_0和更新版本

種類 維度 支援的維度計數 支援的資料類型
InputTensor 輸入 { BatchCount, InputChannelCount, [InputHeight], InputWidth } 3 到 4 INT8、UINT8
InputZeroPointTensor 選擇性輸入 { [1], [1], [1], 1 } 1 到 4 INT8、UINT8
FilterTensor 輸入 { FilterBatchCount, FilterChannelCount, [FilterHeight], FilterWidth } 3 到 4 INT8、UINT8
FilterZeroPointTensor 選擇性輸入 { [1], FilterZeroPointChannelCount, [1], [1] } 1 到 4 INT8、UINT8
OutputTensor 輸出 { BatchCount, OutputChannelCount, [OutputHeight], OutputWidth } 3 到 4 INT32

DML_FEATURE_LEVEL_2_1和更新版本

種類 維度 支援的維度計數 支援的資料類型
InputTensor 輸入 { BatchCount, InputChannelCount, InputHeight, InputWidth } 4 INT8、UINT8
InputZeroPointTensor 選擇性輸入 { 1, 1, 1, 1 } 4 INT8、UINT8
FilterTensor 輸入 { FilterBatchCount, FilterChannelCount, FilterHeight, FilterWidth } 4 INT8、UINT8
FilterZeroPointTensor 選擇性輸入 { 1, FilterZeroPointChannelCount, 1, 1 } 4 INT8、UINT8
OutputTensor 輸出 { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } 4 INT32

規格需求

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