tf.raw_ops.QuantizedMatMulWithBiasAndReluAndRequantize
Выполнить квантованное матричное умножение a на матрицу b с смещением
tf.raw_ops.QuantizedMatMulWithBiasAndReluAndRequantize(
a, b, bias, min_a, max_a, min_b, max_b, min_freezed_output, max_freezed_output,
Toutput=tf.dtypes.quint8, transpose_a=False, transpose_b=False,
input_quant_mode='MIN_FIRST', name=None
)
слияние add и relu и requantize.
Входные данные должны быть двумерными матрицами и одномерным вектором смещения. А внутренняя размерность a (после транспонирования, если transpose_a не равно нулю) должна совпадать с внешней размерностью b (после транспонирования, если transposed_b не равно нулю). Затем выполняется операция широковещательного сложения со значениями смещения по результату матричного умножения. Размер смещения должен соответствовать внутренней размерности b. Затем выполняется активация relu для получения неотрицательного результата. Затем выполняется операция requantize для получения конечного результата uint8.
Аргументы: a: A Tensor. Должен быть одним из следующих типов: qint8, quint8, qint32, qint16, quint16. Матрица для умножения. Должен быть двумерным тензором типа quint8. b: A Tensor. Должен быть одним из следующих типов: qint8, quint8, qint32, qint16, quint16. Матрица для умножения, и должна быть двумерным тензором типа qint8. bias: A Tensor. Должен быть одним из следующих типов: float32, qint32. Одномерный тензор смещения с размером, соответствующим внутренней размерности b (после транспонирования, если transposed_b не равно нулю). min_a: A Tensor типа float32. Вещественное значение, которое представляет наименьшее квантованное значение a. max_a: A Tensor типа float32. Вещественное значение, которое представляет наибольшее квантованное значение a. min_b: A Tensor типа float32. Вещественное значение, которое представляет наименьшее квантованное значение b. max_b: A Tensor типа float32. Вещественное значение, которое представляет наибольшее квантованное значение b. min_freezed_output: A Tensor типа float32. Вещественное значение, которое представляет наибольшее квантованное значение выходного значения после requantize. max_freezed_output: A Tensor типа float32. Toutput: Необязательный tf.DType из: tf.qint8, tf.quint8, tf.qint32, tf.qint16, tf.quint16. По умолчанию tf.quint8. transpose_a: Необязательный bool. По умолчанию False. Если true, a транспонируется перед умножением. transpose_b: Необязательный bool. По умолчанию False. Если true, b транспонируется перед умножением. input_quant_mode: Необязательный string из: "MIN_FIRST", "SCALED". По умолчанию "MIN_FIRST". Режим квантования входных данных. Либо MIN_FIRST (по умолчанию), либо SCALED. name: Имя операции (необязательно).
Возвращает: Кортеж из Tensor объектов (out, min_out, max_out).
out: A `Tensor` of type `Toutput`. min_out: A `Tensor` of type `float32`. max_out: A `Tensor` of type `float32`.
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.4/api_docs/python/tf/raw_ops/QuantizedMatMulWithBiasAndReluAndRequantize