Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
Executa uma função de multiplicação de matriz em dados inteiros.
Esse operador exige que os tensores de entrada de multiplicação de matriz sejam 4D, que são formatados como { BatchCount, ChannelCount, Height, Width }. O operador de multiplicação de matriz executará BatchCount * ChannelCount número de multiplicações de matriz independentes.
Por exemplo, se ATensor tiver Tamanhos de { BatchCount, ChannelCount, M, K }e BTensor tiver Tamanhos de { BatchCount, ChannelCount, K, N }e OutputTensor tiver Tamanhos de { BatchCount, ChannelCount, M, N }, o operador de multiplicação de matriz executará multiplicações de matriz independentes BatchCount * ChannelCount das dimensões {M,K} x {K,N} = {M,N}.
Sintaxe
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;
};
Membros
ATensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados A. As dimensões desse tensor devem ser { BatchCount, ChannelCount, M, K }.
AZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém os dados de ponto zero do ATensor. As dimensões esperadas do AZeroPointTensor serão { 1, 1, 1, 1 } se a quantização por tensor for necessária ou { 1, 1, M, 1 } se a quantização por linha for necessária. Esses valores de ponto zero são usados para desquantizar os valores de ATensor .
BTensor
Tipo: const DML_TENSOR_DESC*
Um tensor que contém os dados B. As dimensões desse tensor devem ser { BatchCount, ChannelCount, K, N }.
BZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Um tensor opcional que contém os dados de ponto zero BTensor . As dimensões esperadas do BZeroPointTensor serão { 1, 1, 1, 1 } se a quantização por tensor for necessária ou { 1, 1, 1, N } se a quantização por coluna for necessária. Esses valores de ponto zero são usados para desquantizar os valores de BTensor.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Um tensor no qual gravar os resultados. As dimensões desse tensor são { BatchCount, ChannelCount, M, N }.
Disponibilidade
Esse operador foi introduzido no DML_FEATURE_LEVEL_2_1.
Restrições do Tensor
- ATensor, BTensor e OutputTensor devem ter o mesmo DimensionCount.
- BTensor e BZeroPointTensor devem ter o mesmo DataType.
- ATensor e AZeroPointTensor devem ter o mesmo DataType.
Suporte ao Tensor
DML_FEATURE_LEVEL_5_2 e superior
| Tensor | Tipo | Dimensões | Contagens de dimensões com suporte | Tipos de dados com suporte |
|---|---|---|---|---|
| Atensor | Entrada | { [BatchCount], [ChannelCount], M, K } | 2 a 4 | INT8, UINT8 |
| AZeroPointTensor | Entrada opcional | { [1], [1], AZeroPointCount, [1] } | 1 a 4 | INT8, UINT8 |
| BTensor | Entrada | { [BatchCount], [ChannelCount], K, N } | 2 a 4 | INT8, UINT8 |
| BZeroPointTensor | Entrada opcional | { [1], [1], [1], BZeroPointCount } | 1 a 4 | INT8, UINT8 |
| OutputTensor | Saída | { [BatchCount], [ChannelCount], M, N } | 2 a 4 | INT32 |
DML_FEATURE_LEVEL_4_0 e superior
| Tensor | Tipo | Dimensões | Contagens de dimensões com suporte | Tipos de dados com suporte |
|---|---|---|---|---|
| Atensor | Entrada | { [BatchCount], [ChannelCount], M, K } | 2 a 4 | INT8, UINT8 |
| AZeroPointTensor | Entrada opcional | { [1], [1], AZeroPointCount, [1] } | 1 a 4 | INT8, UINT8 |
| BTensor | Entrada | { [BatchCount], [ChannelCount], K, N } | 2 a 4 | INT8, UINT8 |
| BZeroPointTensor | Entrada opcional | { [1], [1], 1, BZeroPointCount } | 2 a 4 | INT8, UINT8 |
| OutputTensor | Saída | { [BatchCount], [ChannelCount], M, N } | 2 a 4 | INT32 |
DML_FEATURE_LEVEL_2_1 e superior
| Tensor | Tipo | Dimensões | Contagens de dimensões com suporte | Tipos de dados com suporte |
|---|---|---|---|---|
| Atensor | Entrada | { BatchCount, ChannelCount, M, K } | 4 | INT8, UINT8 |
| AZeroPointTensor | Entrada opcional | { 1, 1, AZeroPointCount, 1 } | 4 | INT8, UINT8 |
| BTensor | Entrada | { BatchCount, ChannelCount, K, N } | 4 | INT8, UINT8 |
| BZeroPointTensor | Entrada opcional | { 1, 1, 1, BZeroPointCount } | 4 | INT8, UINT8 |
| OutputTensor | Saída | { BatchCount, ChannelCount, M, N } | 4 | INT32 |
Requisitos
| Cliente mínimo com suporte | Windows 10 Build 20348 |
| Servidor mínimo com suporte | Windows 10 Build 20348 |
| Cabeçalho | directml.h |