struktur DML_CONVOLUTION_INTEGER_OPERATOR_DESC (directml.h)

Melakukan konvolusi FilterTensor dengan InputTensor. Operator ini melakukan konvolusi ke depan pada data bilangan bulat. Tensor titik nol opsional juga dapat digunakan untuk mengurangi nilai titik nol dari tensor input dan filter.

Sintaks

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;
};

Anggota

InputTensor

Jenis: const DML_TENSOR_DESC*

Tensor yang berisi data input. Dimensi yang diharapkan dari InputTensor adalah { BatchCount, InputChannelCount, InputHeight, InputWidth }.

InputZeroPointTensor

Jenis: _Maybenull_ const DML_TENSOR_DESC*

Tensor opsional yang berisi data titik nol input. Dimensi yang diharapkan dari InputZeroPointTensor adalah { 1, 1, 1, 1 }.

FilterTensor

Jenis: const DML_TENSOR_DESC*

Tensor yang berisi data filter. Dimensi yang diharapkan dari FilterTensor adalah { FilterBatchCount, FilterChannelCount, FilterHeight, FilterWidth }.

FilterZeroPointTensor

Jenis: _Maybenull_ const DML_TENSOR_DESC*

Tensor opsional yang berisi data titik nol filter. Dimensi filterZeroPointTensor yang diharapkan adalah { 1, 1, 1, 1 } jika kuantisasi per penyewa diperlukan, atau { 1, OutputChannelCount, 1, 1 } jika kuantisasi per saluran diperlukan.

OutputTensor

Jenis: const DML_TENSOR_DESC*

Tensor untuk menulis hasilnya. Dimensi yang diharapkan dari OutputTensor adalah { BatchCount, OutputChannelCount, OutputHeight, OutputWidth }.

DimensionCount

Jenis: UINT

Jumlah dimensi spasial untuk operasi konvolusi. Dimensi spasial adalah dimensi yang lebih rendah dari FilterTensor konvolusi. Nilai ini juga menentukan ukuran array Strides, Dilations, StartPadding, dan EndPadding . Hanya nilai 2 yang didukung.

Strides

Jenis: UINT* const _Field_size_(DimensionCount)

Array yang berisi langkah-langkah operasi konvolusi. Langkah-langkah ini diterapkan pada filter konvolusi. Mereka terpisah dari langkah tensor yang disertakan dalam DML_TENSOR_DESC.

Dilations

Jenis: UINT* const _Field_size_(DimensionCount)

Array yang berisi dilatasi operasi konvolusi. Dilasi adalah langkah yang diterapkan ke elemen kernel filter. Ini memiliki efek mensimulasikan kernel filter yang lebih besar dengan mengisi elemen kernel filter internal dengan nol.

StartPadding

Jenis: UINT* const _Field_size_(DimensionCount)

Array yang berisi nilai padding yang akan diterapkan ke awal setiap dimensi spasial tensor filter dan input dari operasi konvolusi.

EndPadding

Jenis: UINT* const _Field_size_(DimensionCount)

Array yang berisi nilai padding yang akan diterapkan ke akhir setiap dimensi spasial tensor filter dan input dari operasi konvolusi.

GroupCount

Jenis: UINT

Jumlah kelompok yang akan membagi operasi konvolusi. GroupCount dapat digunakan untuk mencapai konvolusi kedalaman dengan mengatur GroupCount yang sama dengan jumlah saluran input. Ini membagi konvolusi menjadi konvolusi terpisah per saluran input.

Ketersediaan

Operator ini diperkenalkan di DML_FEATURE_LEVEL_2_1.

Batasan tensor

  • FilterZeroPointTensor dan InputZeroPointTensor harus memiliki DimensionCount yang sama.
  • FilterTensor, InputTensor, dan OutputTensor harus memiliki DimensionCount yang sama.
  • InputTensor dan InputZeroPointTensor harus memiliki DataType yang sama.
  • FilterTensor dan FilterZeroPointTensor harus memiliki DataType yang sama.

Dukungan tensor

DML_FEATURE_LEVEL_4_0 ke atas

Tensor Jenis Dimensi Jumlah dimensi yang didukung Tipe data yang didukung
InputTensor Input { BatchCount, InputChannelCount, [InputHeight], InputWidth } 3 hingga 4 INT8, UINT8
InputZeroPointTensor Input opsional { [1], [1], [1], 1 } 1 hingga 4 INT8, UINT8
FilterTensor Input { FilterBatchCount, FilterChannelCount, [FilterHeight], FilterWidth } 3 hingga 4 INT8, UINT8
FilterZeroPointTensor Input opsional { [1], FilterZeroPointChannelCount, [1], [1] } 1 hingga 4 INT8, UINT8
OutputTensor Output { BatchCount, OutputChannelCount, [OutputHeight], OutputWidth } 3 hingga 4 INT32

DML_FEATURE_LEVEL_2_1 ke atas

Tensor Jenis Dimensi Jumlah dimensi yang didukung Tipe data yang didukung
InputTensor Input { BatchCount, InputChannelCount, InputHeight, InputWidth } 4 INT8, UINT8
InputZeroPointTensor Input opsional { 1, 1, 1, 1 } 4 INT8, UINT8
FilterTensor Input { FilterBatchCount, FilterChannelCount, FilterHeight, FilterWidth } 4 INT8, UINT8
FilterZeroPointTensor Input opsional { 1, FilterZeroPointChannelCount, 1, 1 } 4 INT8, UINT8
OutputTensor Output { BatchCount, OutputChannelCount, OutputHeight, OutputWidth } 4 INT32

Persyaratan

Persyaratan Nilai
Klien minimum yang didukung Windows 10 Build 20348
Server minimum yang didukung Windows 10 Build 20348
Header directml.h