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