tf.raw_ops.UniformQuantizedDot
Выполняет квантованное скалярное произведение квантованного тензора lhs и квантованного тензора rhs, чтобы получить квантованный output.
tf.raw_ops.UniformQuantizedDot(
lhs,
rhs,
lhs_scales,
lhs_zero_points,
rhs_scales,
rhs_zero_points,
output_scales,
output_zero_points,
Tout,
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. lhs и rhs должны быть двумерными тензорами, а lhs.dim_size(1) должен совпадать с rhs.dim_size(0). lhs и rhs должны быть квантованными тензорами, в которых значение данных квантовано по формуле: quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val). output также квантован по той же формуле. Если rhs квантован по тензору, output также должен быть квантован по тензору.
| Аргументы | |
|---|---|
lhs | Tensor. Должен иметь один из следующих типов: qint8. Должен быть двумерным тензором типа Tin. |
rhs | Tensor. Должен иметь тот же тип, что и lhs. Должен быть двумерным тензором типа Tin. |
lhs_scales | Tensor типа float32. Значение(я) float, используемое(ые) в качестве масштаба при квантовании исходных данных, представленных lhs. Должен быть скалярным тензором (lhs поддерживает только квантование по тензору). |
lhs_zero_points | Tensor типа int32. Значение(я) int32, используемое(ые) в качестве zero_point при квантовании исходных данных, представленных lhs. Должно иметь ту же форму, что и lhs_scales. |
rhs_scales | Tensor типа float32. Значение(я) float, используемое(ые) в качестве масштаба при квантовании исходных данных, представленных rhs. Должен быть скалярным тензором (квантование по тензору) или одномерным тензором размера (rhs.dim_size(1),) (поканальное квантование). |
rhs_zero_points | Tensor типа int32. Значение(я) int32, используемое(ые) в качестве zero_point при квантовании исходных данных, представленных rhs. Должно иметь ту же форму, что и rhs_scales. |
output_scales | Tensor типа float32. Значение(я) float, используемое(ые) в качестве масштаба при квантовании исходных данных, представленных output. Должен быть скалярным тензором (квантование по тензору) или одномерным тензором размера (output.dim_size(1),) (поканальное квантование). Если rhs квантован по тензору, output также должен быть квантован по тензору. Это означает, что если rhs_scales и rhs_zero_points являются скалярными тензорами, output_scales и output_zero_points также должны быть скалярными тензорами. |
output_zero_points | Tensor типа int32. Значение(я) int32, используемое(ые) в качестве zero_point при квантовании исходных данных, представленных output. Должно иметь ту же форму, что и rhs_scales. |
Tout | tf.DType из: tf.qint32. Тип выходного тензора. |
lhs_quantization_min_val | int. Минимальное значение квантованных данных, хранящихся в lhs. Например, если Tin — qint8, здесь должно быть указано -127 для квантования с узким диапазоном или -128 в противном случае. |
lhs_quantization_max_val | int. Максимальное значение квантованных данных, хранящихся в rhs. Например, если Tin — qint8, здесь должно быть указано 127. |
rhs_quantization_min_val | int. Минимальное значение квантованных данных, хранящихся в rhs. Например, если Trhs — qint8, здесь должно быть указано -127 для квантования с узким диапазоном или -128 в противном случае. |
rhs_quantization_max_val | int. Максимальное значение квантованных данных, хранящихся в rhs. Например, если Trhs — 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 (по умолчанию) указывает на квантование по тензору. Для левого операнда операции скалярного произведения поддерживается только квантование по тензору. Поэтому для этого атрибута необходимо задать значение -1. Другие значения не допускаются. |
rhs_quantization_axis | Необязательный int. Значение по умолчанию — -1. Указывает индекс измерения тензора, вдоль которого применяется поканальное квантование срезов. Значение -1 (по умолчанию) указывает на квантование по тензору. Для правого операнда операции скалярного произведения поддерживается только квантование по тензору или поканальное квантование вдоль измерения 1. Поэтому для этого атрибута необходимо задать значение -1 или 1. Другие значения не допускаются. |
output_quantization_axis | Необязательный int. Значение по умолчанию — -1. Указывает индекс измерения тензора, вдоль которого применяется поканальное квантование срезов. Значение -1 (по умолчанию) указывает на квантование по тензору. Для выходного тензора операции скалярного произведения поддерживается только квантование по тензору или поканальное квантование вдоль измерения 1. Поэтому для этого атрибута необходимо задать значение -1 или 1. Другие значения не допускаются. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
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/UniformQuantizedDot