DynamicDequantize#
DynamicDequantize operation converts a quantized (s8 or u8) tensor to a f32 tensor. It supports both per-tensor and per-channel asymmetric linear de-quantization. Rounding mode is library-implementation defined. Unlike the Dequantize, DynamicDequantize takes scales and zero-points as operator src tensors.
For per-tensor de-quantization
For per-channel de-quantization, taking channel axis = 1 as an example:
Operation Attributes#
|
Description |
Value Type |
|
|
---|---|---|---|---|
Specifies which de-quantization type is used |
string |
|
Optional |
|
Specifies dimension on which per-channel de-quantization is applied |
s64 |
A s64 value
in the
range of
[-r, r-1]
where r =
rank(src),
|
Optional |
Execution Arguments#
The inputs and outputs must be provided according to the below index order when constructing an operation.
Inputs#
Index |
Argument Name |
Required or Optional |
---|---|---|
0 |
|
Required |
1 |
|
Required |
2 |
|
Optional |
@note scales
is a f32 1D tensor to be applied to the de-quantization
formula. For qtype
= per-tensor
, there should be only one
element in the scales tensor. For qtype
= per-channel
, the
element number should be equal to the element number of src tensor along
the dimension axis.
@note zps
is a 1D tensor with offset values that map to zero. For
qtype
= per-tensor
, there should be only one element in the zps
tensor. For qtype
= per-channel
, the element number should be
equal to the element number of input tensor along the dimension axis. If
not specified, the library can assume the operator is symmetric
de-quantization and perform kernel optimization accordingly.
Outputs#
Index |
Argument Name |
Required or Optional |
---|---|---|
0 |
|
Required |
Supported Data Types#
DynamicDequantize operation supports the following data type combinations.
Src |
Dst |
Scales |
Zps |
---|---|---|---|
s8 |
f32 |
f32 |
s8, u8, s32 |
u8 |
f32 |
f32 |
s8, u8, s32 |