estructura DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC (directml.h)
Agrega todos los elementos de ATensor a su elemento correspondiente en BTensor , colocando el resultado en el elemento correspondiente de OutputTensor. Los valores contenidos en ATensor y BTensor se descuantizan mediante la siguiente ecuación y, a continuación, se agregan y se vuelven a clasificar.
AValue = (A - AZeroPoint) * AScale
BValue = (B - BZeroPoint) * BScale
OutputValue = AValue + BValue
// For uint8 output, Min = 0, Max = 255
// For int8 output, Min = -128, Max = 127
OutputTensor = clamp(round(OutputValue / OutputScale) + OutputZeroPoint, Min, Max)
Sintaxis
struct DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC {
const DML_TENSOR_DESC *ATensor;
const DML_TENSOR_DESC *AScaleTensor;
const DML_TENSOR_DESC *AZeroPointTensor;
const DML_TENSOR_DESC *BTensor;
const DML_TENSOR_DESC *BScaleTensor;
const DML_TENSOR_DESC *BZeroPointTensor;
const DML_TENSOR_DESC *OutputScaleTensor;
const DML_TENSOR_DESC *OutputZeroPointTensor;
const DML_TENSOR_DESC *OutputTensor;
};
Miembros
ATensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene las entradas del lado izquierdo.
AScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene el factor de escala deseado para ATensor . El número esperado de elementos de AScaleTensor es 1.
Nota
Un valor de escala de 0 da como resultado un comportamiento indefinido.
AZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensor que contiene el punto cero deseado para ATensor. El número esperado de elementos de AZeroPointTensor es 1. AZeroPointTensor es un tensor opcional que tiene como valor predeterminado 0 si no se proporciona.
BTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene las entradas del lado derecho.
BScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene el factor de escala deseado para BTensor. El número esperado de elementos de BScaleTensor es 1.
Nota
Un valor de escala de 0 da como resultado un comportamiento indefinido.
BZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensor que contiene el punto cero deseado para BTensor. El número esperado de elementos de BZeroPointTensor es 1. BZeroPointTensor es un tensor opcional que tiene como valor predeterminado 0 si no se proporciona.
OutputScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensor que contiene el factor de escala deseado para OutputTensor. Se trata de un tensor de entrada que define el factor de escala de cuantificación de salida que se va a usar mientras se cuantifican los valores de salida. El número esperado de elementos de outputScaleTensor es 1.
Nota
Un valor de escala de 0 da como resultado un comportamiento indefinido.
OutputZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensor que contiene el punto cero deseado para OutputTensor. Se trata de un tensor de entrada que define el punto cero de cuantificación de salida que se va a usar al cuantificar los valores de salida. El número esperado de elementos de OutputZeroPointTensor es 1. outputZeroPointTensor es un tensor opcional que tiene como valor predeterminado 0 si no se proporciona.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensor de salida en el que se van a escribir los resultados.
Observaciones
Disponibilidad
Este operador se introdujo en DML_FEATURE_LEVEL_4_0.
Restricciones tensor
- AScaleTensor, ATensor, AZeroPointTensor, BScaleTensor, BTensor, BZeroPointTensor, OutputScaleTensor, OutputTensory OutputZeroPointTensor deben tener el mismo DimensionCount.
- BTensor y BZeroPointTensor deben tener el mismo DataType.
- outputTensor y OutputZeroPointTensor deben tener el mismo DataType.
- ATensor y AZeroPointTensor deben tener el mismo DataType.
Compatibilidad con Tensor
Tensor | Amable | Recuentos de dimensiones admitidos | Tipos de datos admitidos |
---|---|---|---|
ATensor | Entrada | De 1 a 8 | INT8, UINT8 |
AScaleTensor | Entrada | De 1 a 8 | FLOAT32 |
AZeroPointTensor | Entrada opcional | De 1 a 8 | INT8, UINT8 |
BTensor | Entrada | De 1 a 8 | INT8, UINT8 |
BScaleTensor | Entrada | De 1 a 8 | FLOAT32 |
BZeroPointTensor | Entrada opcional | De 1 a 8 | INT8, UINT8 |
OutputScaleTensor | Entrada | De 1 a 8 | FLOAT32 |
OutputZeroPointTensor | Entrada opcional | De 1 a 8 | INT8, UINT8 |
OutputTensor | Salida | De 1 a 8 | INT8, UINT8 |
Requisitos
Requisito | Valor |
---|---|
cliente mínimo admitido | Windows Build 22000 |
servidor mínimo admitido | Windows Build 22000 |
encabezado de |
directml.h |