Spec-Zone.ru › TensorFlow

tf.quantization.fake_quant_with_min_max_args

Выполняет псевдоквантование тензора 'inputs' типа float в тензор 'outputs' той же формы и типа.

Просмотреть псевдонимы

Псевдонимы для совместимости при миграции

Подробнее см. в руководстве по миграции.

tf.compat.v1.fake_quant_with_min_max_args, tf.compat.v1.quantization.fake_quant_with_min_max_args

tf.quantization.fake_quant_with_min_max_args(
    inputs: Annotated[Any, _atypes.Float32],
    min: float = -6,
    max: float = 6,
    num_bits: int = 8,
    narrow_range: bool = False,
    name=None
) -> Annotated[Any, _atypes.Float32]

Квантование называется псевдоквантованием, поскольку выходные данные по-прежнему представлены числами с плавающей запятой. 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.
Аргументы
inputs Tensor типа float32.
min Необязательный float. По умолчанию — -6.
max Необязательный float. По умолчанию — 6.
num_bits Необязательный int. По умолчанию — 8.
narrow_range Необязательный bool. По умолчанию — False.
name Имя операции (необязательно).
Возвращает
Tensor типа float32.

© 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/python/tf/quantization/fake_quant_with_min_max_args

Spec-Zone.ru

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