tf.raw_ops.UniformQuantizedAdd
Выполнить квантованное сложение квантованного тензора lhs и квантованного тензора rhs, чтобы получить квантованный output.
tf.raw_ops.UniformQuantizedAdd(
lhs,
rhs,
lhs_scales,
lhs_zero_points,
rhs_scales,
rhs_zero_points,
output_scales,
output_zero_points,
lhs_quantization_min_val,
lhs_quantization_max_val,
rhs_quantization_min_val,
rhs_quantization_max_val,
output_quantization_min_val,
output_quantization_max_val,
lhs_quantization_axis=-1,
rhs_quantization_axis=-1,
output_quantization_axis=-1,
name=None
)
Учитывая квантованный lhs и квантованный rhs, выполняет квантованное сложение lhs и rhs, чтобы получить квантованный output.
UniformQuantizedAdd следует правилам трансляции Numpy. Формы двух входных массивов сравниваются поэлементно. Начиная с последних измерений, два измерения должны быть равны или одно из них должно быть равно 1.
lhs и rhs должны быть квантованными тензорами, где значения данных квантуются по формуле:
quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
output также квантуется, используя ту же формулу.
Если lhs и output оба квантуются по осям, ось квантования должна совпадать. Также, если rhs и output оба квантуются по осям, ось квантования должна совпадать. Совпадение означает, что ось должна совпадать при сложении, учитывая трансляцию. Т.е. для обоих операндов lhs и rhs, если operand.quantization_axis >= 0 и output.quantization_axis >= 0, operand.dims - operand.quantization_axis должно быть равно output.dims - output.quantization_axis.
| Аргументы | |
|---|---|
lhs | A Tensor. Должен быть одним из следующих типов: qint32. Должен быть квантованным тензором. |
rhs | A Tensor. Должен иметь тот же тип, что и lhs. Должен быть квантованным тензором. |
lhs_scales | A Tensor типа float32. Значение(я) с плавающей точкой, используемые в качестве коэффициентов масштабирования при квантовании исходных данных, которые представляет lhs. |
lhs_zero_points | A Tensor типа int32. Значение(я) типа int32, используемые в качестве нулевых точек при квантовании исходных данных, которые представляет lhs. Должно иметь ту же форму, что и lhs_scales. |
rhs_scales | A Tensor типа float32. Значение(я) с плавающей точкой, используемые в качестве коэффициентов масштабирования при квантовании исходных данных, которые представляет rhs. |
rhs_zero_points | A Tensor типа int32. Значение(я) типа int32, используемые в качестве нулевых точек при квантовании исходных данных, которые представляет rhs. Должно иметь ту же форму, что и rhs_scales. |
output_scales | A Tensor типа float32. Значение(я) с плавающей точкой, используемые в качестве коэффициентов масштабирования при квантовании исходных данных, которые представляет output. |
output_zero_points | A Tensor типа int32. Значение(я) типа int32, используемые в качестве нулевых точек при квантовании исходных данных, которые представляет вывод. Должно иметь ту же форму, что и output_scales. |
lhs_quantization_min_val | An int. Минимальное значение квантованных данных, хранящихся в lhs. Например, если Tin является qint8, это должно быть установлено на -127, если квантованы узкие диапазоны, или на -128, если нет. |
lhs_quantization_max_val | An int. Максимальное значение квантованных данных, хранящихся в lhs. Например, если Tin является qint8, это должно быть установлено на 127. |
rhs_quantization_min_val | An int. Минимальное значение квантованных данных, хранящихся в rhs. Например, если Tin является qint8, это должно быть установлено на -127, если квантованы узкие диапазоны, или на -128, если нет. |
rhs_quantization_max_val | An int. Максимальное значение квантованных данных, хранящихся в rhs. Например, если Tin является qint8, это должно быть установлено на 127. |
output_quantization_min_val | An int. Минимальное значение квантованных данных, хранящихся в output. Например, если Tout является qint8, это должно быть установлено на -127, если квантованы узкие диапазоны, или на -128, если нет. |
output_quantization_max_val | An int. Максимальное значение квантованных данных, хранящихся в output. Например, если Tout является qint8, это должно быть установлено на 127. |
lhs_quantization_axis | Необязательный int. По умолчанию -1. Указывает индекс измерения тензора, где применяется квантование по осям для срезов вдоль этого измерения. Если установлено в -1 (по умолчанию), это указывает на квантование по всему тензору. Для lhs поддерживается только квантование по всему тензору. Следовательно, это должно быть установлено на -1. Другие значения приведут к ошибке при создании OpKernel. |
rhs_quantization_axis | Необязательный int. По умолчанию -1. Указывает индекс измерения тензора, где применяется квантование по осям для срезов вдоль этого измерения. Если установлено в -1 (по умолчанию), это указывает на квантование по всему тензору. Для rhs поддерживается только квантование по всему тензору или квантование по каналам вдоль kernel_output_feature_dimension. Таким образом, это должно быть установлено на -1 или dimension_numbers.kernel_output_feature_dimension. Другие значения приведут к ошибке при создании OpKernel. |
output_quantization_axis | Необязательный int. По умолчанию -1. Указывает индекс измерения тензора, где применяется квантование по осям для срезов вдоль этого измерения. Если установлено в -1 (по умолчанию), это указывает на квантование по всему тензору. Для output поддерживается только квантование по всему тензору или квантование по каналам вдоль output_feature_dimension. Таким образом, это должно быть установлено на -1 или dimension_numbers.output_feature_dimension. Другие значения приведут к ошибке при создании OpKernel. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor. Имеет тот же тип, что и lhs. |
© 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/UniformQuantizedAdd