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 |