Fix the input and output ranges.
tfmot.quantization.keras.fix_input_output_range(
    model,
    num_bits=8,
    input_min=0.0,
    input_max=1.0,
    output_min=0.0,
    output_max=1.0,
    narrow_range=False
)
Example:
model = keras.Sequential([
    layers.Dense(10, activation='relu', input_shape=(100,)),
    quantize_annotate_layer(layers.Dense(2, activation='sigmoid'))
])
with quantize.quantize_scope():
  model = quantize_annotate_model(model)
  model = quantize_apply(model)
  model = fix_input_output_range(model, num_bits=4,
      input_min=0, input_max=15,
      output_min=0, output_max=15,
      narrow_range=False)
In certain cases, a desired input/output ranges is known and should not be
altered during training. To set these values, use the arguments as follows:
| Args | 
|---|
| model | A tf.kerasSequential or Functional model which has been quantized. | 
| num_bits | Number of bits for quantization | 
| input_min | The lower end of quantization interval for the input. | 
| input_max | The upper end of quantization interval for the input. | 
| output_min | The lower end of quantization interval for the output. | 
| output_max | The upper end of quantization interval for the output. | 
| narrow_range | In case of 8 bits, narrow_range nudges the quantized range
to be [-127, 127] instead of [-128, 127]. This ensures symmetric
range has 0 as the centre. | 
| Returns | 
|---|
| Returns a new tf.kerasmodel fixed input range set to (input_min,
input_max) and fixed output range set to (output_min, output_max). |