Spec-Zone.ru › TensorFlow C++

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
Operation
outputs
::tensorflow::Output
Общедоступные функции
node() const
::tensorflow::Node *
operator::tensorflow::Input() const
operator::tensorflow::Output() const
Общедоступные статические функции
Max(float x)
Attrs
Min(float x)
Attrs
NarrowRange(bool x)
Attrs
NumBits(int64 x)
Attrs
Структуры
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

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API