tensorflow::ops::QuantizeDownAndShrinkRange
#include <math_ops.h>
Преобразовать квантованный тензор 'input' в тензор 'output' с меньшей точностью, используя.
Summary
фактическое распределение значений для максимального использования меньшей разрядности и соответствующей корректировки диапазонов вывода min и max.
[input_min, input_max] — скалярные значения с плавающей точкой, определяющие диапазон для представления данных 'input' в формате с плавающей точкой. Например, если input_min — -1.0f, а input_max — 1.0f, и мы работаем с квантованными данными quint16, то значение 0 в 16-битных данных должно интерпретироваться как -1.0f, а значение 65535 — как 1.0f.
Этот оператор пытается максимально использовать точность в выводе с меньшей разрядностью, вычисляя фактические минимальное и максимальное значения, найденные в данных. Например, возможно, квантованный вход quint16 не имеет значений меньше 16 384 и больше 49 152. Это означает, что необходим только половина диапазона, все интерпретации с плавающей точкой находятся между -0.5f и 0.5f, поэтому, если мы хотим сжать данные в вывод quint8, мы можем использовать этот диапазон вместо теоретического от -1.0f до 1.0f, который предлагается min и max входными значениями.
На практике это наиболее полезно для получения вывода из операций, таких как QuantizedMatMul, которые могут производить выходные данные с большей разрядностью, чем их входные данные, и могут иметь большие потенциальные диапазоны вывода, но на практике распределение значений входных данных использует только небольшую часть возможного диапазона. Передавая этот вывод в этот оператор, мы можем уменьшить его с 32 бит до 8 с минимальной потерей точности.
Аргументы:
- scope: Объект Scope
- input_min: Значение с плавающей точкой, представляющее минимальное квантованное входное значение.
- input_max: Значение с плавающей точкой, представляющее максимальное квантованное входное значение.
- out_type: Тип вывода. Должен иметь меньшую разрядность, чем Tinput.
Возвращает:
-
Outputвыход -
Outputoutput_min: Значение с плавающей точкой, представляющее минимальное квантованное выходное значение. -
Outputoutput_max: Значение с плавающей точкой, представляющее максимальное квантованное выходное значение.
| Конструкторы и деструкторы | |
|---|---|
QuantizeDownAndShrinkRange(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type) |
| Общественные атрибуты | |
|---|---|
operation | |
output | |
output_max | |
output_min | |
Общественные атрибуты
operation
Operation operation
output
::tensorflow::Output output
output_max
::tensorflow::Output output_max
output_min
::tensorflow::Output output_min
Общественные функции
QuantizeDownAndShrinkRange
QuantizeDownAndShrinkRange( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type )
© 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/cc/class/tensorflow/ops/quantize-down-and-shrink-range