QuantizedMatMulWithBiasAndReluAndRequantize

public final class QuantizedMatMulWithBiasAndReluAndRequantize

Perform a quantized matrix multiplication of `a` by the matrix `b` with bias add and relu and requantize fusion.

The inputs must be two-dimensional matrices and 1D bias vector. And the inner dimension of `a` (after being transposed if `transpose_a` is non-zero) must match the outer dimension of `b` (after being transposed if `transposed_b` is non-zero). Then do broadcast add operation with bias values on the matrix multiplication result. The bias size must match inner dimension of `b`. Then do relu activation to get non-negative result. Then do requantize operation to get final uint8 result.

Nested Classes

class QuantizedMatMulWithBiasAndReluAndRequantize.Options Optional attributes for QuantizedMatMulWithBiasAndReluAndRequantize

Public Methods

static <W, T, U, V> QuantizedMatMulWithBiasAndReluAndRequantize <W>
create ( Scope scope, Operand <T> a, Operand <U> b, Operand <V> bias, Operand <Float> minA, Operand <Float> maxA, Operand <Float> minB, Operand <Float> maxB, Operand <Float> minFreezedOutput, Operand <Float> maxFreezedOutput, Class<W> Toutput, Options... options)
Factory method to create a class wrapping a new QuantizedMatMulWithBiasAndReluAndRequantize operation.
static QuantizedMatMulWithBiasAndReluAndRequantize.Options
inputQuantMode (String inputQuantMode)
Output <Float>
maxOut ()
The float value that the highest quantized output value represents.
Output <Float>
minOut ()
The float value that the lowest quantized output value represents.
Output <W>
static QuantizedMatMulWithBiasAndReluAndRequantize.Options
transposeA (Boolean transposeA)
static QuantizedMatMulWithBiasAndReluAndRequantize.Options
transposeB (Boolean transposeB)

Inherited Methods

Public Methods

public static QuantizedMatMulWithBiasAndReluAndRequantize <W> create ( Scope scope, Operand <T> a, Operand <U> b, Operand <V> bias, Operand <Float> minA, Operand <Float> maxA, Operand <Float> minB, Operand <Float> maxB, Operand <Float> minFreezedOutput, Operand <Float> maxFreezedOutput, Class<W> Toutput, Options... options)

Factory method to create a class wrapping a new QuantizedMatMulWithBiasAndReluAndRequantize operation.

Parameters
scope current scope
a A matrix to be multiplied. Must be a two-dimensional tensor of type `quint8`.
b A matrix to be multiplied and must be a two-dimensional tensor of type `qint8`.
bias A 1D bias tensor with size matching with inner dimension of `b` (after being transposed if `transposed_b` is non-zero).
minA The float value that the lowest quantized `a` value represents.
maxA The float value that the highest quantized `a` value represents.
minB The float value that the lowest quantized `b` value represents.
maxB The float value that the highest quantized `b` value represents.
minFreezedOutput The float value that the highest quantized output value after requantize.
options carries optional attributes values
Returns
  • a new instance of QuantizedMatMulWithBiasAndReluAndRequantize

public static QuantizedMatMulWithBiasAndReluAndRequantize.Options inputQuantMode (String inputQuantMode)

Parameters
inputQuantMode Input data quantization mode. Either MIN_FIRST(default) or SCALED.

public Output <Float> maxOut ()

The float value that the highest quantized output value represents.

public Output <Float> minOut ()

The float value that the lowest quantized output value represents.

public Output <W> out ()

public static QuantizedMatMulWithBiasAndReluAndRequantize.Options transposeA (Boolean transposeA)

Parameters
transposeA If true, `a` is transposed before multiplication.

public static QuantizedMatMulWithBiasAndReluAndRequantize.Options transposeB (Boolean transposeB)

Parameters
transposeB If true, `b` is transposed before multiplication.