tf.quantization.fake_quant_with_min_max_args
Имитирует квантование тензора 'inputs', тип float, в тензор 'outputs' той же формы и типа.
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)
| Возможные исключения | |
|---|---|
|
| Аргументы | |
|---|---|
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