Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Melakukan konvolusi FilterTensor
Fungsi linier kuantisasi yang digunakan oleh operator ini adalah fungsi kuantisasi linier
Mendesquantize function
f(Input, Scale, ZeroPoint) = (Input - ZeroPoint) * Scale
Fungsi kuantisasi
f(Input, Scale, ZeroPoint) = clamp(round(Input / Scale) + ZeroPoint, Min, Max)
Sintaksis
struct DML_QUANTIZED_LINEAR_CONVOLUTION_OPERATOR_DESC {
const DML_TENSOR_DESC *InputTensor;
const DML_TENSOR_DESC *InputScaleTensor;
const DML_TENSOR_DESC *InputZeroPointTensor;
const DML_TENSOR_DESC *FilterTensor;
const DML_TENSOR_DESC *FilterScaleTensor;
const DML_TENSOR_DESC *FilterZeroPointTensor;
const DML_TENSOR_DESC *BiasTensor;
const DML_TENSOR_DESC *OutputScaleTensor;
const DML_TENSOR_DESC *OutputZeroPointTensor;
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
InputScaleTensor
Jenis: const DML_TENSOR_DESC*
Tensor yang berisi data skala input. Dimensi yang diharapkan dari InputScaleTensor{ 1, 1, 1, 1 }. Nilai skala ini digunakan untuk mendekuensikan nilai input.
Nota
Nilai skala 0 menghasilkan perilaku yang tidak ditentukan.
InputZeroPointTensor
Jenis: _Maybenull_ const DML_TENSOR_DESC*
Tensor opsional yang berisi input data titik nol. Dimensi yang diharapkan dari InputZeroPointTensor
FilterTensor
Jenis: const DML_TENSOR_DESC*
Tensor yang berisi data filter. Dimensi yang diharapkan dari FilterTensor
FilterScaleTensor
Jenis: const DML_TENSOR_DESC*
Tensor yang berisi data skala filter. Dimensi yang diharapkan dari FilterScaleTensor{ 1, 1, 1, 1 } jika kuantisasi per penyewa diperlukan, atau { 1, OutputChannelCount, 1, 1 } jika kuantisasi per saluran diperlukan. Nilai skala ini digunakan untuk mendequantizing nilai filter.
Nota
Nilai skala 0 menghasilkan perilaku yang tidak ditentukan.
FilterZeroPointTensor
Jenis: _Maybenull_ const DML_TENSOR_DESC*
Tensor opsional yang berisi filter data titik nol. Dimensi yang diharapkan dari FilterZeroPointTensor
BiasTensor
Jenis: _Maybenull_ const DML_TENSOR_DESC*
Tensor yang berisi data bias. Tensor bias adalah tensor yang berisi data yang disiarkan di seluruh tensor output di akhir konvolusi yang ditambahkan ke hasilnya. Dimensi biasTensor yang diharapkan { 1, OutputChannelCount, 1, 1 } untuk 4D.
OutputScaleTensor
Jenis: const DML_TENSOR_DESC*
Tensor yang berisi data skala output. Dimensi yang diharapkan dari OutputScaleTensor { 1, 1, 1, 1 }. Nilai skala input ini digunakan untuk mengukur nilai output konvolusi.
Nota
Nilai skala 0 menghasilkan perilaku yang tidak ditentukan.
OutputZeroPointTensor
Jenis: _Maybenull_ const DML_TENSOR_DESC*
Tensor opsional yang berisi filter data titik nol. Dimensi outputZeroPointTensor yang diharapkan { 1, 1, 1, 1 }. Nilai titik nol input ini digunakan untuk mengukur konvolusi nilai output.
OutputTensor
Jenis: const DML_TENSOR_DESC*
Tensor untuk menulis hasilnya. Dimensi outputTensor yang diharapkan { OutputBatchCount, OutputChannelCount, OutputHeight, OutputWidth }.
DimensionCount
Jenis: UINT
Jumlah dimensi spasial untuk operasi konvolusi. Dimensi spasial adalah dimensi yang lebih rendah dari tensor filter konvolusi FilterTensor. Nilai ini juga menentukan ukuran
Strides
Jenis: _Field_size_(DimensionCount) const UINT*
Langkah-langkah operasi konvolusi. Langkah-langkah ini diterapkan pada filter konvolusi. Mereka terpisah dari langkah tensor yang disertakan dalam DML_TENSOR_DESC.
Dilations
Jenis: _Field_size_(DimensionCount) const UINT*
Dilasi operasi konvolusi. Dilasi adalah langkah yang diterapkan ke elemen kernel filter. Ini memiliki efek mensimulasikan kernel filter yang lebih besar dengan mengayuh elemen kernel filter internal dengan nol.
StartPadding
Jenis: _Field_size_(DimensionCount) const UINT*
Nilai padding yang akan diterapkan ke awal setiap dimensi spasial filter dan tensor input operasi konvolusi.
EndPadding
Jenis: _Field_size_(DimensionCount) const UINT*
Nilai padding yang akan diterapkan ke akhir setiap dimensi spasial filter dan tensor input dari operasi konvolusi.
GroupCount
Jenis: UINT
Jumlah grup yang akan membagi operasi konvolusi menjadi. GroupCount dapat digunakan untuk mencapai konvolusi kedalaman dengan mengatur GroupCount 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
- BiasTensor, FilterTensor, InputTensor, dan OutputTensor harus memiliki DimensionCount yang sama.
- OutputTensor dan OutputZeroPointTensor harus memiliki DataType yang sama.
InputTensor dan InputZeroPointTensor harus memilikiDataType yang sama. FilterTensor danFilterZeroPointTensor harus memilikiDataType yang sama.
Dukungan tensor
DML_FEATURE_LEVEL_5_2 ke atas
| Tensor | Jenis | Jumlah dimensi yang didukung | Jenis data yang didukung |
|---|---|---|---|
| InputTensor | Masukan | 3 hingga 4 | INT8, UINT8 |
| InputScaleTensor | Masukan | 1 hingga 4 | FLOAT32 |
| InputZeroPointTensor | Input opsional | 1 hingga 4 | INT8, UINT8 |
| FilterTensor | Masukan | 3 hingga 4 | INT8, UINT8 |
| FilterScaleTensor | Masukan | 1 hingga 4 | FLOAT32 |
| FilterZeroPointTensor | Input opsional | 1 hingga 4 | INT8, UINT8 |
| BiasTensor | Input opsional | 3 hingga 4 | INT32 |
| OutputScaleTensor | Masukan | 1 hingga 4 | FLOAT32 |
| OutputZeroPointTensor | Input opsional | 1 hingga 4 | INT8, UINT8 |
| OutputTensor | Hasil | 3 hingga 4 | INT8, UINT8 |
DML_FEATURE_LEVEL_4_0 ke atas
| Tensor | Jenis | Jumlah dimensi yang didukung | Jenis data yang didukung |
|---|---|---|---|
| InputTensor | Masukan | 3 hingga 4 | INT8, UINT8 |
| InputScaleTensor | Masukan | 1 hingga 4 | FLOAT32 |
| InputZeroPointTensor | Input opsional | 1 hingga 4 | INT8, UINT8 |
| FilterTensor | Masukan | 3 hingga 4 | INT8, UINT8 |
| FilterScaleTensor | Masukan | 3 hingga 4 | FLOAT32 |
| FilterZeroPointTensor | Input opsional | 1 hingga 4 | INT8, UINT8 |
| BiasTensor | Input opsional | 3 hingga 4 | INT32 |
| OutputScaleTensor | Masukan | 1 hingga 4 | FLOAT32 |
| OutputZeroPointTensor | Input opsional | 1 hingga 4 | INT8, UINT8 |
| OutputTensor | Hasil | 3 hingga 4 | INT8, UINT8 |
DML_FEATURE_LEVEL_2_1 ke atas
| Tensor | Jenis | Jumlah dimensi yang didukung | Jenis data yang didukung |
|---|---|---|---|
| InputTensor | Masukan | 4 | INT8, UINT8 |
| InputScaleTensor | Masukan | 4 | FLOAT32 |
| InputZeroPointTensor | Input opsional | 4 | INT8, UINT8 |
| FilterTensor | Masukan | 4 | INT8, UINT8 |
| FilterScaleTensor | Masukan | 4 | FLOAT32 |
| FilterZeroPointTensor | Input opsional | 4 | INT8, UINT8 |
| BiasTensor | Input opsional | 4 | INT32 |
| OutputScaleTensor | Masukan | 4 | FLOAT32 |
| OutputZeroPointTensor | Input opsional | 4 | INT8, UINT8 |
| OutputTensor | Hasil | 4 | INT8, UINT8 |
Persyaratan
| Syarat | Nilai |
|---|---|
| klien minimum yang didukung | Windows 10 Build 20348 |
| server minimum yang didukung |
Windows 10 Build 20348 |
| Header |
directml.h |