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
)
Добавление и relu и requantize слияние.
Входы должны быть двумерными матрицами и одномерным вектором смещения. И внутренняя размерность a (после транспонирования, если transpose_a не равно нулю) должна соответствовать внешней размерности b (после транспонирования, если transposed_b не равно нулю). Затем выполнить операцию широковещательного сложения со значениями смещения по результату матричного умножения. Размер смещения должен соответствовать внутренней размерности b. Затем выполнить активацию relu, чтобы получить неотрицательный результат. Затем выполнить операцию requantize, чтобы получить конечный результат uint8.
Args: 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: Имя операции (необязательно).
Returns: Кортеж из объектов 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.3/api_docs/python/tf/raw_ops/QuantizedMatMulWithBiasAndReluAndRequantize