struttura DML_ELEMENT_WISE_QUANTIZED_LINEAR_ADD_OPERATOR_DESC (directml.h)
Aggiunge ogni elemento in ATensor al relativo elemento corrispondente in BTensor, inserendo il risultato nell'elemento corrispondente di OutputTensor. I valori contenuti in ATensor e BTensor vengono dequantizzati usando l'equazione seguente e quindi aggiunti e riquantizzati.
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)
Sintassi
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;
};
Membri
ATensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente gli input sul lato sinistro.
AScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente il fattore di scala desiderato per ATensor. Il numero previsto di elementi in AScaleTensor è 1.
Nota
Un valore di scala pari a 0 comporta un comportamento non definito.
AZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensore contenente il punto zero desiderato per ATensor. Il numero previsto di elementi in AZeroPointTensor è 1. AZeroPointTensor è un tensore facoltativo che per impostazione predefinita è 0 se non specificato.
BTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente gli input sul lato destro.
BScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente il fattore di scala desiderato per BTensor. Il numero previsto di elementi in BScaleTensor è 1.
Nota
Un valore di scala pari a 0 comporta un comportamento non definito.
BZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensore contenente il punto zero desiderato per BTensor. Il numero previsto di elementi in BZeroPointTensor è 1. BZeroPointTensor è un tensore facoltativo che per impostazione predefinita è 0 se non specificato.
OutputScaleTensor
Tipo: const DML_TENSOR_DESC*
Tensore contenente il fattore di scala desiderato per OutputTensor. Si tratta di un tensore di input che definisce il fattore di scala di quantizzazione di output da usare durante la quantizzazione dei valori di output. Il numero previsto di elementi in OutputScaleTensor è 1.
Nota
Un valore di scala pari a 0 comporta un comportamento non definito.
OutputZeroPointTensor
Tipo: _Maybenull_ const DML_TENSOR_DESC*
Tensore contenente il punto zero desiderato per OutputTensor. Si tratta di un tensore di input che definisce il punto zero di quantizzazione di output da usare durante la quantizzazione dei valori di output. Il numero previsto di elementi in OutputZeroPointTensor è 1. OutputZeroPointTensor è un tensore facoltativo che per impostazione predefinita è 0 se non specificato.
OutputTensor
Tipo: const DML_TENSOR_DESC*
Tensore di output in cui scrivere i risultati.
Osservazioni
Disponibilità
Questo operatore è stato introdotto in DML_FEATURE_LEVEL_4_0.
Vincoli tensor
- AScaleTensor, ATensor, AZeroPointTensor, BScaleTensor, BTensor, BZeroPointTensor, OutputScaleTensor, OutputTensore OutputZeroPointTensor devono avere lo stesso DimensionCount.
- BTensor e BZeroPointTensor devono avere lo stesso DataType.
- OutputTensor e OutputZeroPointTensor devono avere lo stesso DataType.
- ATensor e AZeroPointTensor devono avere lo stesso DataType.
Supporto tensor
Tensore | Gentile | Conteggi delle dimensioni supportati | Tipi di dati supportati |
---|---|---|---|
ATensor | Immissione | Da 1 a 8 | INT8, UINT8 |
AScaleTensor | Immissione | Da 1 a 8 | FLOAT32 |
AZeroPointTensor | Input facoltativo | Da 1 a 8 | INT8, UINT8 |
BTensor | Immissione | Da 1 a 8 | INT8, UINT8 |
BScaleTensor | Immissione | Da 1 a 8 | FLOAT32 |
BZeroPointTensor | Input facoltativo | Da 1 a 8 | INT8, UINT8 |
OutputScaleTensor | Immissione | Da 1 a 8 | FLOAT32 |
OutputZeroPointTensor | Input facoltativo | Da 1 a 8 | INT8, UINT8 |
OutputTensor | Prodotto | Da 1 a 8 | INT8, UINT8 |
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Windows Build 22000 |
server minimo supportato | Windows Build 22000 |
intestazione |
directml.h |