#include <array_ops.h>
Fake-quantize the 'inputs' tensor, type float to 'outputs' tensor of same shape and type.
Quantization is called fake since the output is still in floating point. The API converts inputs into values within the range [min and max] and returns as output.
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:
0 < min < max: min_adj = 0 and max_adj = max - min.min < max < 0: min_adj = min - max and max_adj = 0.min <= 0 <= max: scale = (max - min) / (2^num_bits - 1), min_adj = scale * round(min / scale) and max_adj = max + min_adj - min.Examples
inp = tf.constant ([10.03, -10.23, 3])
out = tf.quantization.fake_quant_with_min_max_args(inp, min=-5, max=5,
num_bits=16)
print(out)# Output: # tf.Tensor([ 4.9999237 -5.0000763 3.0000763], shape=(3,), dtype=float32)
Raises:
inputs are of any other type than float32.Args:
Returns:
Output: The outputs tensor. | Constructors and Destructors | |
|---|---|
FakeQuantWithMinMaxArgs(const ::tensorflow::Scope & scope, ::tensorflow::Input inputs) | |
FakeQuantWithMinMaxArgs(const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, const FakeQuantWithMinMaxArgs::Attrs & attrs) |
| Public attributes | |
|---|---|
operation | |
outputs | |
| Public functions | |
|---|---|
node() const | ::tensorflow::Node * |
operator::tensorflow::Input() const | |
operator::tensorflow::Output() const | |
| Public static functions | |
|---|---|
Max(float x) | |
Min(float x) | |
NarrowRange(bool x) | |
NumBits(int64 x) | |
| Structs | |
|---|---|
| tensorflow::ops::FakeQuantWithMinMaxArgs::Attrs | Optional attribute setters for FakeQuantWithMinMaxArgs. |
Operation operation
::tensorflow::Output outputs
FakeQuantWithMinMaxArgs( const ::tensorflow::Scope & scope, ::tensorflow::Input inputs )
FakeQuantWithMinMaxArgs( const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, const FakeQuantWithMinMaxArgs::Attrs & attrs )
::tensorflow::Node * node() const
operator::tensorflow::Input() const
operator::tensorflow::Output() const
Attrs Max( float x )
Attrs Min( float x )
Attrs NarrowRange( bool x )
Attrs NumBits( int64 x )
© 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/cc/class/tensorflow/ops/fake-quant-with-min-max-args