tf.quantization.fake_quant_with_min_max_vars_per_channel
Имитирует квантование тензора 'inputs' типа float и одной из форм: [d],
tf.quantization.fake_quant_with_min_max_vars_per_channel(
inputs, min, max, num_bits=8, narrow_range=False, name=None
)
[b, d] [b, h, w, d] через значения float для каждого канала min и max формы [d] в тензор '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_per_channel