estructura DML_MATRIX_MULTIPLY_INTEGER_OPERATOR_DESC (directml.h)
Realiza una función de multiplicación de matriz en datos enteros.
Este operador requiere que los tensores de entrada de multiplicación de matriz sean 4D, que tienen el formato { BatchCount, ChannelCount, Height, Width }
. El operador de multiplicación de matriz realizará batchCount * ChannelCount número de multiplicaciones de matriz independientes.
Por ejemplo, si ATensor tiene Tamaños de y BTensor tiene Tamaños de { BatchCount, ChannelCount, K, N }
y OutputTensor tiene Tamaños de { BatchCount, ChannelCount, M, N }
, el operador de multiplicación de matriz realizará las multiplicaciones de matrices independientes de { BatchCount, ChannelCount, M, K }
BatchCount * ChannelCount de dimensiones {M,K} x {K,N} = {M,N}.
Sintaxis
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;
};
Miembros
ATensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos A. Las dimensiones de este tensor deben ser { BatchCount, ChannelCount, M, K }
.
AZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensor opcional que contiene los datos de punto cero de ATensor. Las dimensiones esperadas de AZeroPointTensor
son { 1, 1, 1, 1 }
si se requiere la cuantificación por tensor o { 1, 1, M, 1 }
si se requiere la cuantificación por fila. Estos valores de punto cero se usan para desquitizar los valores de ATensor .
BTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene los datos B. Las dimensiones de este tensor deben ser { BatchCount, ChannelCount, K, N }
.
BZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensor opcional que contiene los datos de punto cero de BTensor . Las dimensiones esperadas de BZeroPointTensor
son { 1, 1, 1, 1 }
si se requiere la cuantificación por tensor o { 1, 1, 1, N }
si se requiere la cuantificación por columna. Estos valores de punto cero se usan para desquitizar los valores de BTensor.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensor con el que se van a escribir los resultados. Las dimensiones de este tensor son { BatchCount, ChannelCount, M, N }
.
Disponibilidad
Este operador se introdujo en DML_FEATURE_LEVEL_2_1
.
Restricciones tensor
- ATensor, BTensor y OutputTensor deben tener el mismo DimensionCount.
- BTensor y BZeroPointTensor deben tener el mismo DataType.
- ATensor y AZeroPointTensor deben tener el mismo DataType.
Compatibilidad con Tensor
DML_FEATURE_LEVEL_5_2 y versiones posteriores
Tensor | Kind | Dimensions | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|---|
ATensor | Entrada | { [BatchCount], [ChannelCount], M, K } | De 2 a 4 | INT8, UINT8 |
AZeroPointTensor | Entrada opcional | { [1], [1], AZeroPointCount, [1] } | De 1 a 4 | INT8, UINT8 |
BTensor | Entrada | { [BatchCount], [ChannelCount], K, N } | De 2 a 4 | INT8, UINT8 |
BZeroPointTensor | Entrada opcional | { [1], [1], [1], BZeroPointCount } | De 1 a 4 | INT8, UINT8 |
OutputTensor | Resultados | { [BatchCount], [ChannelCount], M, N } | De 2 a 4 | INT32 |
DML_FEATURE_LEVEL_4_0 y versiones posteriores
Tensor | Kind | Dimensions | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|---|
ATensor | Entrada | { [BatchCount], [ChannelCount], M, K } | De 2 a 4 | INT8, UINT8 |
AZeroPointTensor | Entrada opcional | { [1], [1], AZeroPointCount, [1] } | De 1 a 4 | INT8, UINT8 |
BTensor | Entrada | { [BatchCount], [ChannelCount], K, N } | De 2 a 4 | INT8, UINT8 |
BZeroPointTensor | Entrada opcional | { [1], [1], 1, BZeroPointCount } | De 2 a 4 | INT8, UINT8 |
OutputTensor | Resultados | { [BatchCount], [ChannelCount], M, N } | De 2 a 4 | INT32 |
DML_FEATURE_LEVEL_2_1 y versiones posteriores
Tensor | Kind | Dimensions | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|---|
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 | Resultados | { BatchCount, ChannelCount, M, N } | 4 | INT32 |
Requisitos
Cliente mínimo compatible | Compilación 20348 de Windows 10 |
Servidor mínimo compatible | Compilación 20348 de Windows 10 |
Encabezado | directml.h |