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 | Tensor. Допустимые типы: qint32. Должен быть квантованным тензором. |
rhs | Tensor. Должен иметь тот же тип, что и lhs. Должен быть квантованным тензором. |
lhs_scales | Tensor типа float32. Вещественные значения, используемые в качестве коэффициентов масштаба при квантовании исходных данных, представленных lhs. |
lhs_zero_points | Tensor типа int32. Значения int32, используемые в качестве нулевых точек при квантовании исходных данных, представленных lhs. Должен иметь ту же форму, что и lhs_scales. |
rhs_scales | Tensor типа float32. Вещественные значения, используемые в качестве коэффициентов масштаба при квантовании исходных данных, представленных rhs. |
rhs_zero_points | Tensor типа int32. Значения int32, используемые в качестве нулевых точек при квантовании исходных данных, представленных rhs. Должен иметь ту же форму, что и rhs_scales. |
output_scales | Tensor типа float32. Вещественные значения, используемые в качестве коэффициентов масштаба при квантовании исходных данных, представленных output. |
output_zero_points | Tensor типа int32. Значения int32, используемые в качестве нулевых точек при квантовании исходных данных, представленных выходным тензором. Должен иметь ту же форму, что и output_scales. |
lhs_quantization_min_val | int. Минимальное значение квантованных данных, хранящихся в lhs. Например, если Tin имеет тип qint8, здесь должно быть указано -127 для квантования с узким диапазоном или -128 в противном случае. |
lhs_quantization_max_val | int. Максимальное значение квантованных данных, хранящихся в lhs. Например, если Tin имеет тип qint8, здесь должно быть указано 127. |
rhs_quantization_min_val | int. Минимальное значение квантованных данных, хранящихся в rhs. Например, если Tin имеет тип qint8, здесь должно быть указано -127 для квантования с узким диапазоном или -128 в противном случае. |
rhs_quantization_max_val | int. Максимальное значение квантованных данных, хранящихся в rhs. Например, если Tin имеет тип qint8, здесь должно быть указано 127. |
output_quantization_min_val | int. Минимальное значение квантованных данных, хранящихся в output. Например, если Tout имеет тип qint8, здесь должно быть указано -127 для квантования с узким диапазоном или -128 в противном случае. |
output_quantization_max_val | 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 | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
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