tf.raw_ops.QuantizedMatMulWithBiasAndReluAndRequantize
Выполнить квантованное матричное умножение a на матрицу b с добавлением смещения, функцией relu и квантованием результата.
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
)
Входные данные должны быть матрицами размерности два на два и 1D вектором смещения. Внутренняя размерность a (после транспонирования, если transpose_a не равно нулю) должна совпадать с внешней размерностью b (после транспонирования, если transposed_b не равно нулю). Затем выполняется операция сложения с вектором смещения к результату матричного умножения. Размер вектора смещения должен соответствовать внутренней размерности b. Затем применяется функция активации relu для получения неотрицательного результата. Затем выполняется операция квантования для получения конечного результата uint8.
Аргументы: a: A Tensor. Должен быть одного из следующих типов: qint8, quint8, qint32, qint16, quint16. Матрица, которая должна быть умножена. Должна быть двумерная тензорного типа quint8. b: A Tensor. Должен быть одного из следующих типов: qint8, quint8, qint32, qint16, quint16. Матрица, которая должна быть умножена, и должна быть двумерным тензором типа qint8. bias: A Tensor. Должен быть одного из следующих типов: float32, qint32. 1D вектор смещения с размером, соответствующим внутренней размерности 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. Значение с плавающей точкой, которое представляет наибольшее квантованное значение выходного тензора после квантования. 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`.
© 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/QuantizedMatMulWithBiasAndReluAndRequantize