Compartir a través de


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

Consulte también