tensorflow::ops::FakeQuantWithMinMaxArgs
#include <array_ops.h>
Ложно-квантует тензор 'inputs' типа float в тензор 'outputs' той же формы и типа.
Краткое описание
Квантование называется ложным, так как выходной результат всё ещё в формате с плавающей точкой. API преобразует входные значения в диапазон [min и max] и возвращает результат.
Атрибуты
-
[min; max]определяют диапазон ограничения дляinputsданных. -
inputsзначения квантуются в диапазон квантования ([0; 2^num_bits - 1], когдаnarrow_rangeравно false и[1; 2^num_bits - 1], когда оно равно true), а затем деквантуются и выводятся как числа с плавающей точкой в интервале[min; max]. -
num_bits— это разрядность квантования; значение от 2 до 16 включительно.
Перед квантованием значения min и max корректируются с помощью следующей логики. Рекомендуется использовать min <= 0 <= max. Если 0 не находится в диапазоне значений, поведение может быть непредсказуемым:
- Если
0 < min < max:min_adj = 0иmax_adj = max - min. - Если
min < max < 0:min_adj = min - maxиmax_adj = 0. - Если
min <= 0 <= max:scale = (max - min) / (2^num_bits - 1),min_adj = scale * round(min / scale)иmax_adj = max + min_adj - min.
Примеры
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)
Возможные исключения:
- InvalidArgumentError:
- Если num_bits не находятся в диапазоне [2, 16].
- Если min ≥ max.
- ValueError: Если
inputsимеют тип, отличный от float32.
Аргументы:
- scope: Объект Scope
Возвращаемое значение:
-
Output: Тензор outputs.
| Конструкторы и деструкторы | |
|---|---|
FakeQuantWithMinMaxArgs(const ::tensorflow::Scope & scope, ::tensorflow::Input inputs) | |
FakeQuantWithMinMaxArgs(const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, const FakeQuantWithMinMaxArgs::Attrs & attrs) |
| Общедоступные атрибуты | |
|---|---|
operation | |
outputs | |
| Общедоступные функции | |
|---|---|
node() const | ::tensorflow::Node * |
operator::tensorflow::Input() const | |
operator::tensorflow::Output() const | |
| Общедоступные статические функции | |
|---|---|
Max(float x) | |
Min(float x) | |
NarrowRange(bool x) | |
NumBits(int64 x) | |
| Структуры | |
|---|---|
| tensorflow::ops::FakeQuantWithMinMaxArgs::Attrs | Дополнительные устанавливатели атрибутов для FakeQuantWithMinMaxArgs. |
Общедоступные атрибуты
operation
Operation operation
outputs
::tensorflow::Output outputs
Общедоступные функции
FakeQuantWithMinMaxArgs
FakeQuantWithMinMaxArgs( const ::tensorflow::Scope & scope, ::tensorflow::Input inputs )
FakeQuantWithMinMaxArgs
FakeQuantWithMinMaxArgs( const ::tensorflow::Scope & scope, ::tensorflow::Input inputs, const FakeQuantWithMinMaxArgs::Attrs & attrs )
node
::tensorflow::Node * node() const
operator::tensorflow::Input
operator::tensorflow::Input() const
operator::tensorflow::Output
operator::tensorflow::Output() const
Общедоступные статические функции
Max
Attrs Max( float x )
Min
Attrs Min( float x )
NarrowRange
Attrs NarrowRange( bool x )
NumBits
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