tf.raw_ops.UniformRequantize
Для квантованного тензора input, переквантуйте его с новыми параметрами квантования.
tf.raw_ops.UniformRequantize(
input,
input_scales,
input_zero_points,
output_scales,
output_zero_points,
Tout,
input_quantization_min_val,
input_quantization_max_val,
output_quantization_min_val,
output_quantization_max_val,
input_quantization_axis=-1,
output_quantization_axis=-1,
name=None
)
Для квантованного тензора input, который был квантован с помощью {input_scales, input_zero_points, input_quantization_axis, input_quantization_min_val, input_quantization_max_val}, переквантуйте его в тензор, квантованный с помощью {output_scales, output_zero_points, output_quantization_axis, output_quantization_min_val, output_quantization_max_val}. Переквантование выполняется по формуле: output_quantized_data = clip( (input_quantized_data - input_zero_point) * (input_scale / output_scale) + output_zero_point, output_quantization_min_val, output_quantization_max_val)
Поддерживаемые случаи квантования по тензору и по оси следующие:
- по тензору -> по тензору
- по тензору -> по оси
- по оси -> по оси, где input_quantization_axis равно output_quantization_axis. Т.е. хотя бы один из input_quantization_axis и output_quantization_axis должен быть равен -1, или оба должны быть равны.
| Аргументы | |
|---|---|
input | A Tensor. Должен быть одного из следующих типов: qint8, qint32. Должен быть тензором типа Tin. |
input_scales | A Tensor типа float32. Вещественные значения, используемые в качестве масштабов при квантовании исходных данных, которые input представляет. Должен быть скалярным тензором, если quantization_axis равен -1 (квантование по всему тензору), в противном случае 1D тензором размера (input.dim_size(quantization_axis),) (квантование по оси). |
input_zero_points | A Tensor типа int32. Целочисленные значения, используемые в качестве сдвигов при квантовании исходных данных, которые input представляет. Условия формы такие же, как у scales. |
output_scales | A Tensor типа float32. Вещественные значения, которые следует использовать в качестве новых масштабов для квантования исходных данных, которые input представляет. Должен быть скалярным тензором, если quantization_axis равен -1 (квантование по всему тензору), в противном случае 1D тензором размера (input.dim_size(quantization_axis),) (квантование по оси). |
output_zero_points | A Tensor типа int32. Целочисленные значения, которые следует использовать в качестве новых сдвигов для квантования исходных данных, которые input представляет. Условия формы такие же, как у scales. |
Tout | tf.DType из: tf.qint8, tf.qint32. Тип выходного тензора. tf.DType из: tf.qint8, tf.qint32 |
input_quantization_min_val | An int. Минимальное значение квантования, используемое при квантовании исходных данных, которые input представляет. Цель этого атрибута, как правило (но не только), состоит в указании узкого диапазона, где он устанавливается в: (Tin lowest) + 1 при узком диапазоне и в (Tin lowest) в противном случае. Например, если Tin – это qint8, то он установлен в -127 при квантовании с узким диапазоном или в -128, если нет. |
input_quantization_max_val | An int. Максимальное значение квантования, используемое при квантовании исходных данных, которые input представляет. Цель этого атрибута, как правило (но не только), состоит в указании узкого диапазона, где он устанавливается в: (Tout max) как для узкого, так и для широкого диапазонов. Например, если Tin – это qint8, то он установлен в 127. |
output_quantization_min_val | An int. Новое минимальное значение квантования для квантования исходных данных, которые input представляет. |
output_quantization_max_val | An int. Новое максимальное значение квантования для квантования исходных данных, которые input представляет. |
input_quantization_axis | Необязательный int. По умолчанию -1. Ось квантования, которая использовалась при квантовании исходных данных, которые input представляет. Указывает индекс размерности тензора, где применяется квантование по оси для срезов вдоль этой размерности. Если установлено в -1 (по умолчанию), это указывает на квантование по всему тензору. В противном случае, оно должно быть в пределах [0, input.dims()). |
output_quantization_axis | Необязательный int. По умолчанию -1. Новая ось квантования для квантования исходных данных, которые input представляет. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor типа Tout. |
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/python/tf/raw_ops/UniformRequantize