struttura DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC (directml.h)

Esegue la funzione di dequantizzazione lineare seguente su ogni elemento in InputTensor rispetto al corrispondente elemento in ScaleTensor e ZeroPointTensor, inserendo i risultati nell'elemento corrispondente di OutputTensor.

f(input, scale, zero_point) = (input - zero_point) * scale

La quantizzazione è un modo comune per migliorare le prestazioni a costi di precisione. Un gruppo di valori int a 8 bit può essere calcolato più velocemente di un gruppo di valori float a 32 bit. La dequantizzazione converte nuovamente i dati codificati nel relativo dominio.

Sintassi

struct DML_ELEMENT_WISE_DEQUANTIZE_LINEAR_OPERATOR_DESC {
  const DML_TENSOR_DESC *InputTensor;
  const DML_TENSOR_DESC *ScaleTensor;
  const DML_TENSOR_DESC *ZeroPointTensor;
  const DML_TENSOR_DESC *OutputTensor;
};

Membri

InputTensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente gli input.

ScaleTensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente le scale.

Nota

Un valore di scala pari a 0 comporta un comportamento non definito.

ZeroPointTensor

Tipo: const DML_TENSOR_DESC*

Tensore contenente il punto zero utilizzato per la quantizzazione.

OutputTensor

Tipo: const DML_TENSOR_DESC*

Tensore di output in cui scrivere i risultati.

Disponibilità

Questo operatore è stato introdotto in DML_FEATURE_LEVEL_1_0.

Vincoli tensor

  • InputTensor, OutputTensor, ScaleTensore ZeroPointTensor devono avere lo stesso DimensionCount e dimensioni .
  • InputTensor e ZeroPointTensor devono avere lo stesso DataType.
  • OutputTensor e ScaleTensor devono avere lo stesso DataType.

Supporto tensor

DML_FEATURE_LEVEL_6_2 e versioni successive

Tensore Gentile Conteggi delle dimensioni supportati Tipi di dati supportati
InputTensor Immissione Da 1 a 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Immissione Da 1 a 8 FLOAT32, FLOAT16
ZeroPointTensor Input facoltativo Da 1 a 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Prodotto Da 1 a 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_6_0 e versioni successive

Tensore Gentile Conteggi delle dimensioni supportati Tipi di dati supportati
InputTensor Immissione Da 1 a 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Immissione Da 1 a 8 FLOAT32, FLOAT16
ZeroPointTensor Immissione Da 1 a 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Prodotto Da 1 a 8 FLOAT32, FLOAT16

DML_FEATURE_LEVEL_3_0 e versioni successive

Tensore Gentile Conteggi delle dimensioni supportati Tipi di dati supportati
InputTensor Immissione Da 1 a 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Immissione Da 1 a 8 FLOAT32
ZeroPointTensor Immissione Da 1 a 8 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Prodotto Da 1 a 8 FLOAT32

DML_FEATURE_LEVEL_2_1 e versioni successive

Tensore Gentile Conteggi delle dimensioni supportati Tipi di dati supportati
InputTensor Immissione 4 INT32, INT16, INT8, UINT32, UINT16, UINT8
ScaleTensor Immissione 4 FLOAT32
ZeroPointTensor Immissione 4 INT32, INT16, INT8, UINT32, UINT16, UINT8
OutputTensor Prodotto 4 FLOAT32

DML_FEATURE_LEVEL_1_0 e versioni successive

Tensore Gentile Conteggi delle dimensioni supportati Tipi di dati supportati
InputTensor Immissione 4 UINT8
ScaleTensor Immissione 4 FLOAT32
ZeroPointTensor Immissione 4 UINT8
OutputTensor Prodotto 4 FLOAT32

Fabbisogno

Requisito Valore
intestazione directml.h

Vedere anche

DML_ELEMENT_WISE_QUANTIZE_LINEAR_OPERATOR_DESC