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