FakeQuantWithMinMaxVarsPerChannel

public final class FakeQuantWithMinMaxVarsPerChannel

Fake-quantize the 'inputs' tensor of type float via per-channel floats

Fake-quantize the `inputs` tensor of type float per-channel and one of the shapes: `[d]`, `[b, d]` `[b, h, w, d]` via per-channel floats `min` and `max` of shape `[d]` to `outputs` tensor of same shape as `inputs`.

Attributes

  • `[min; max]` define the clamping range for the `inputs` data.
  • `inputs` values are quantized into the quantization range ( `[0; 2^num_bits - 1]` when `narrow_range` is false and `[1; 2^num_bits - 1]` when it is true) and then de-quantized and output as floats in `[min; max]` interval.
  • `num_bits` is the bitwidth of the quantization; between 2 and 16, inclusive.
Before quantization, `min` and `max` values are adjusted with the following logic. It is suggested to have `min <= 0 <= max`. If `0` is not in the range of values, the behavior can be unexpected:
  • If `0 < min < max`: `min_adj = 0` and `max_adj = max - min`.
  • If `min < max < 0`: `min_adj = min - max` and `max_adj = 0`.
  • If `min <= 0 <= max`: `scale = (max - min) / (2^num_bits - 1) `, `min_adj = scale * round(min / scale)` and `max_adj = max + min_adj - min`.
This operation has a gradient and thus allows for training `min` and `max` values.

Nested Classes

class FakeQuantWithMinMaxVarsPerChannel.Options Optional attributes for FakeQuantWithMinMaxVarsPerChannel  

Constants

String OP_NAME The name of this op, as known by TensorFlow core engine

Public Methods

Output<TFloat32>
asOutput()
Returns the symbolic handle of the tensor.
static FakeQuantWithMinMaxVarsPerChannel
create(Scope scope, Operand<TFloat32> inputs, Operand<TFloat32> min, Operand<TFloat32> max, Options... options)
Factory method to create a class wrapping a new FakeQuantWithMinMaxVarsPerChannel operation.
static FakeQuantWithMinMaxVarsPerChannel.Options
narrowRange(Boolean narrowRange)
static FakeQuantWithMinMaxVarsPerChannel.Options
numBits(Long numBits)
Output<TFloat32>

Inherited Methods

Constants

public static final String OP_NAME

The name of this op, as known by TensorFlow core engine

Constant Value: "FakeQuantWithMinMaxVarsPerChannel"

Public Methods

public Output<TFloat32> asOutput ()

Returns the symbolic handle of the tensor.

Inputs to TensorFlow operations are outputs of another TensorFlow operation. This method is used to obtain a symbolic handle that represents the computation of the input.

public static FakeQuantWithMinMaxVarsPerChannel create (Scope scope, Operand<TFloat32> inputs, Operand<TFloat32> min, Operand<TFloat32> max, Options... options)

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

Parameters
scope current scope
options carries optional attributes values
Returns
  • a new instance of FakeQuantWithMinMaxVarsPerChannel

public static FakeQuantWithMinMaxVarsPerChannel.Options narrowRange (Boolean narrowRange)

public static FakeQuantWithMinMaxVarsPerChannel.Options numBits (Long numBits)

public Output<TFloat32> outputs ()