tensorflow::
ops::
FakeQuantWithMinMaxVarsPerChannel
#include <array_ops.h>
Fake-quantize the 'inputs' tensor of type float via per-channel floats.
Summary
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 theinputs
data. -
inputs
values are quantized into the quantization range ([0; 2^num_bits - 1]
whennarrow_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
andmax_adj = max - min
. -
If
min < max < 0
:min_adj = min - max
andmax_adj = 0
. -
If
min <= 0 <= max
:scale = (max - min) / (2^num_bits - 1)
,min_adj = scale * round(min / scale)
andmax_adj = max + min_adj - min
.
This operation has a gradient and thus allows for training
min
and
max
values.
Args:
- scope: A Scope object
Returns:
-
Output
: The outputs tensor.
Constructors and Destructors |
|
---|---|
FakeQuantWithMinMaxVarsPerChannel
(const ::
tensorflow::Scope
& scope, ::
tensorflow::Input
inputs, ::
tensorflow::Input
min, ::
tensorflow::Input
max)
|
|
FakeQuantWithMinMaxVarsPerChannel
(const ::
tensorflow::Scope
& scope, ::
tensorflow::Input
inputs, ::
tensorflow::Input
min, ::
tensorflow::Input
max, const
FakeQuantWithMinMaxVarsPerChannel::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::
|
Optional attribute setters for FakeQuantWithMinMaxVarsPerChannel . |
Public attributes
Public functions
FakeQuantWithMinMaxVarsPerChannel
FakeQuantWithMinMaxVarsPerChannel( const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, ::tensorflow::Input min, ::tensorflow::Input max )
FakeQuantWithMinMaxVarsPerChannel
FakeQuantWithMinMaxVarsPerChannel( const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, ::tensorflow::Input min, ::tensorflow::Input max, const FakeQuantWithMinMaxVarsPerChannel::Attrs & attrs )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const