共用方式為


DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC結構 (directml.h)

對整數資料執行矩陣乘法函數。

此運算子需要矩陣將輸入張量乘以 4D,其格式為 { BatchCount, ChannelCount, Height, Width } 。 矩陣乘法運算子會執行獨立矩陣乘法的 BatchCount * ChannelCount 數目。

例如,如果ATensor的大小為{ BatchCount, ChannelCount, M, K } ,而BTensor的大小為 ,OutputTensor{ BatchCount, ChannelCount, K, N }的大小{ BatchCount, ChannelCount, M, N } 為 ,則矩陣乘法運算子會執行維度 {M,K} x {K,N} = {M,N} 的 BatchCount * ChannelCount 獨立矩陣乘法。

語法

struct DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC {
  const DML_TENSOR_DESC *ATensor;
  const DML_TENSOR_DESC *AZeroPointTensor;
  const DML_TENSOR_DESC *BTensor;
  const DML_TENSOR_DESC *BZeroPointTensor;
  const DML_TENSOR_DESC *OutputTensor;
};

成員

ATensor

類型:const DML_TENSOR_DESC*

包含 A 資料的張量。 這個 tensor 的維度應該是 { BatchCount, ChannelCount, M, K }

AZeroPointTensor

類型: _Maybenull_ const DML_TENSOR_DESC*

選擇性的張量,包含 ATensor 零點資料。 的預期維度 AZeroPointTensor{ 1, 1, 1, 1 } 如果需要每個 tensor 仲裁,或 { 1, 1, M, 1 } 如果需要每一資料列的量化。 這些零點值用於取消量化 ATensor 值。

BTensor

類型:const DML_TENSOR_DESC*

包含 B 資料的張量。 這個 tensor 的維度應該是 { BatchCount, ChannelCount, K, N }

BZeroPointTensor

類型: _Maybenull_ const DML_TENSOR_DESC*

選擇性的張量,包含 BTensor 零點資料。 的預期維度 BZeroPointTensor{ 1, 1, 1, 1 } 如果需要每一個 tensor 仲裁,或 { 1, 1, 1, N } 如果需要每個資料行的量子化。 這些零點值用於取消量化 BTensor 值。

OutputTensor

類型:const DML_TENSOR_DESC*

要寫入結果的 Tensor。 這個 tensor 的維度為 { BatchCount, ChannelCount, M, N }

可用性

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

Tensor 條件約束

  • ATensorBTensorOutputTensor 必須具有相同的 DimensionCount
  • BTensorBZeroPointTensor 必須具有相同 的 DataType
  • ATensorAZeroPointTensor 必須具有相同 的 DataType

Tensor 支援

DML_FEATURE_LEVEL_5_2和更新版本

種類 維度 支援的維度計數 支援的資料類型
ATensor 輸入 { [BatchCount], [ChannelCount], M, K } 2 到 4 INT8、UINT8
AZeroPointTensor 選擇性輸入 { [1], [1], AZeroPointCount, [1] } 1 到 4 INT8、UINT8
BTensor 輸入 { [BatchCount], [ChannelCount], K, N } 2 到 4 INT8、UINT8
BZeroPointTensor 選擇性輸入 { [1], [1], [1], BZeroPointCount } 1 到 4 INT8、UINT8
OutputTensor 輸出 { [BatchCount], [ChannelCount], M, N } 2 到 4 INT32

DML_FEATURE_LEVEL_4_0和更新版本

種類 維度 支援的維度計數 支援的資料類型
ATensor 輸入 { [BatchCount], [ChannelCount], M, K } 2 到 4 INT8、UINT8
AZeroPointTensor 選擇性輸入 { [1], [1], AZeroPointCount, [1] } 1 到 4 INT8、UINT8
BTensor 輸入 { [BatchCount], [ChannelCount], K, N } 2 到 4 INT8、UINT8
BZeroPointTensor 選擇性輸入 { [1], [1], 1, BZeroPointCount } 2 到 4 INT8、UINT8
OutputTensor 輸出 { [BatchCount], [ChannelCount], M, N } 2 到 4 INT32

DML_FEATURE_LEVEL_2_1和更新版本

種類 維度 支援的維度計數 支援的資料類型
ATensor 輸入 { BatchCount, ChannelCount, M, K } 4 INT8、UINT8
AZeroPointTensor 選擇性輸入 { 1, 1, AZeroPointCount, 1 } 4 INT8、UINT8
BTensor 輸入 { BatchCount, ChannelCount, K, N } 4 INT8、UINT8
BZeroPointTensor 選擇性輸入 { 1, 1, 1, BZeroPointCount } 4 INT8、UINT8
OutputTensor 輸出 { BatchCount, ChannelCount, M, N } 4 INT32

需求

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