Perform quantization on Tensor input
.
tf.raw_ops.UniformQuantize(
input,
scales,
zero_points,
Tout,
quantization_min_val,
quantization_max_val,
quantization_axis=-1,
name=None
)
Given input
, scales
and zero_points
, performs quantization using the formula:
quantized_data = floor(input_data * (1.0f / scale) + 0.5f) + zero_point
Args | |
---|---|
input
|
A Tensor . Must be one of the following types: float32 .
Must be a Tensor of Tin.
|
scales
|
A Tensor of type float32 .
The float value(s) to use as scale(s) to quantize input .
Must be a scalar Tensor if quantization_axis is -1 (per-tensor quantization), otherwise 1D Tensor of size (input.dim_size(quantization_axis),) (per-axis quantization).
|
zero_points
|
A Tensor of type int32 .
The int32 value(s) to use as zero_point(s) to quantize input .
Same shape condition as scales.
|
Tout
|
A tf.DType from: tf.qint8, tf.qint32 .
The type of output Tensor. A tf.DType from: tf.float32
|
quantization_min_val
|
An int .
The quantization min value to quantize input .
The purpose of this attribute is typically (but not limited to) to indicate narrow range, where this is set to:
(Tin lowest) + 1 if narrow range, and (Tin lowest) otherwise.
For example, if Tin is qint8, this is set to -127 if narrow range quantized or -128 if not.
|
quantization_max_val
|
An int .
The quantization max value to quantize input .
The purpose of this attribute is typically (but not limited to) indicate narrow range, where this is set to:
(Tout max) for both narrow range and not narrow range.
For example, if Tin is qint8, this is set to 127.
|
quantization_axis
|
An optional int . Defaults to -1 .
Indicates the dimension index of the tensor where per-axis quantization is applied for the slices along that dimension.
If set to -1 (default), this indicates per-tensor quantization. Otherwise, it must be set within range [0, input.dims()).
|
name
|
A name for the operation (optional). |
Returns | |
---|---|
A Tensor of type Tout .
|