Condividi tramite


struttura DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC (directml.h)

Esegue una funzione di moltiplicazione della matrice sui dati integer.

Questo operatore richiede che i tensori di input di moltiplicazione della matrice siano 4D, formattati come { BatchCount, ChannelCount, Height, Width }. L'operatore di moltiplicazione della matrice eseguirà BatchCount * ChannelCount numero di moltiplicazioni di matrici indipendenti.

Ad esempio, se ATensor ha dimensioni pari { BatchCount, ChannelCount, M, K }a e BTensor ha dimensioni pari { BatchCount, ChannelCount, K, N }a e OutputTensor ha dimensioni pari { BatchCount, ChannelCount, M, N }a , l'operatore di moltiplicazione della matrice eseguirà BatchCount * Moltiplicazioni di matrici indipendenti ChannelCount di dimensioni {M,K} x {K,N} = {M,N}.

Sintassi

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

Members

ATensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente i dati A. Le dimensioni del tensore devono essere { BatchCount, ChannelCount, M, K }.

AZeroPointTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Tensore facoltativo contenente i dati del punto zero ATensor. Le dimensioni previste di AZeroPointTensor sono { 1, 1, 1, 1 } se è necessaria la quantizzazione per tensore o { 1, 1, M, 1 } se è necessaria la quantizzazione per riga. Questi valori dei punti zero vengono usati per dequantizzare i valori ATensor .

BTensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente i dati B. Le dimensioni del tensore devono essere { BatchCount, ChannelCount, K, N }.

BZeroPointTensor

Tipo: _Maybenull_ const DML_TENSOR_DESC*

Tensore facoltativo contenente i dati del punto zero BTensor . Le dimensioni previste di BZeroPointTensor sono { 1, 1, 1, 1 } se è necessaria la quantizzazione per tensore o { 1, 1, 1, N } se è necessaria la quantizzazione per colonna. Questi valori dei punti zero vengono usati per dequantizzare i valori BTensor.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Tensore in cui scrivere i risultati. Le dimensioni di questo tensore sono { BatchCount, ChannelCount, M, N }.

Disponibilità

Questo operatore è stato introdotto in DML_FEATURE_LEVEL_2_1.

Vincoli tensor

  • ATensor, BTensor e OutputTensor devono avere lo stesso DimensionCount.
  • BTensor e BZeroPointTensor devono avere lo stesso Tipo di dati.
  • ATensor e AZeroPointTensor devono avere lo stesso Tipo di dati.

Supporto di Tensor

DML_FEATURE_LEVEL_5_2 e versioni successive

Tensore Tipo Dimensioni Conteggi delle dimensioni supportati Tipi di dati supportati
ATensor Input { [BatchCount], [ChannelCount], M, K } da 2 a 4 INT8, UINT8
AZeroPointTensor Input facoltativo { [1], [1], AZeroPointCount, [1] } da 1 a 4 INT8, UINT8
BTensor Input { [BatchCount], [ChannelCount], K, N } da 2 a 4 INT8, UINT8
BZeroPointTensor Input facoltativo { [1], [1], [1], BZeroPointCount } da 1 a 4 INT8, UINT8
OutputTensor Output { [BatchCount], [ChannelCount], M, N } da 2 a 4 INT32

DML_FEATURE_LEVEL_4_0 e versioni successive

Tensore Tipo Dimensioni Conteggi delle dimensioni supportati Tipi di dati supportati
ATensor Input { [BatchCount], [ChannelCount], M, K } da 2 a 4 INT8, UINT8
AZeroPointTensor Input facoltativo { [1], [1], AZeroPointCount, [1] } da 1 a 4 INT8, UINT8
BTensor Input { [BatchCount], [ChannelCount], K, N } da 2 a 4 INT8, UINT8
BZeroPointTensor Input facoltativo { [1], [1], 1, BZeroPointCount } da 2 a 4 INT8, UINT8
OutputTensor Output { [BatchCount], [ChannelCount], M, N } da 2 a 4 INT32

DML_FEATURE_LEVEL_2_1 e versioni successive

Tensore Tipo Dimensioni Conteggi delle dimensioni supportati Tipi di dati supportati
ATensor Input { BatchCount, ChannelCount, M, K } 4 INT8, UINT8
AZeroPointTensor Input facoltativo { 1, 1, AZeroPointCount, 1 } 4 INT8, UINT8
BTensor Input { BatchCount, ChannelCount, K, N } 4 INT8, UINT8
BZeroPointTensor Input facoltativo { 1, 1, 1, BZeroPointCount } 4 INT8, UINT8
OutputTensor Output { BatchCount, ChannelCount, M, N } 4 INT32

Requisiti

   
Client minimo supportato Windows 10 Build 20348
Server minimo supportato Windows 10 Build 20348
Intestazione directml.h