tensorflow::ops::FakeQuantWithMinMaxVars

#include <array_ops.h>

Fake-quantize the 'inputs' tensor of type float via global float scalars.

Summary

Fake-quantize the inputs tensor of type float via global float scalars min and max 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.

Arguments:

Returns:

Constructors and Destructors
FakeQuantWithMinMaxVars(const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, ::tensorflow::Input min, ::tensorflow::Input max)
FakeQuantWithMinMaxVars(const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, ::tensorflow::Input min, ::tensorflow::Input max, const FakeQuantWithMinMaxVars::Attrs & attrs)
Public attributes
operation
outputs
Public functions
node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const
Public static functions
NarrowRange(bool x)
NumBits(int64 x)
Structs
tensorflow::ops::FakeQuantWithMinMaxVars::Attrs

Optional attribute setters for FakeQuantWithMinMaxVars.

Public attributes

operation

Operation operation

outputs

::tensorflow::Output outputs

Public functions

FakeQuantWithMinMaxVars

 FakeQuantWithMinMaxVars(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input inputs,
  ::tensorflow::Input min,
  ::tensorflow::Input max
)

FakeQuantWithMinMaxVars

 FakeQuantWithMinMaxVars(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input inputs,
  ::tensorflow::Input min,
  ::tensorflow::Input max,
  const FakeQuantWithMinMaxVars::Attrs & attrs
)

node

::tensorflow::Node * node() const 

operator::tensorflow::Input

operator::tensorflow::Input() const 

operator::tensorflow::Output

operator::tensorflow::Output() const 

Public static functions

NarrowRange

Attrs NarrowRange(
  bool x
)

NumBits

Attrs NumBits(
  int64 x
)

© 2020 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/versions/r2.4/api_docs/cc/class/tensorflow/ops/fake-quant-with-min-max-vars