tf.quantization.fake_quant_with_min_max_vars
Фейк-квантует тензор «inputs» типа float с помощью глобальных скаляров float min
tf.quantization.fake_quant_with_min_max_vars(
inputs, min, max, num_bits=8, narrow_range=False, name=None
)
и max в тензор «outputs» той же формы, что и inputs.
[min; max] определяют диапазон ограничения для inputs данных. inputs значения квантуются в диапазон квантования ([0; 2^num_bits - 1] когда narrow_range ложно и [1; 2^num_bits - 1] когда оно истинно), а затем деквантуются и выводятся как числа с плавающей точкой в [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.
Эта операция имеет градиент и, таким образом, позволяет обучать значения min и max.
| Аргументы | |
|---|---|
inputs | A Tensor типа float32. |
min | A Tensor типа float32. |
max | A Tensor типа float32. |
num_bits | Необязательный int. По умолчанию 8. |
narrow_range | Необязательный bool. По умолчанию False. |
name | Имя операции (необязательно). |
| Возвращаемое значение | |
|---|---|
A Tensor типа float32. |
© 2020 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 3.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r1.15/api_docs/python/tf/quantization/fake_quant_with_min_max_vars