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