tensorflow::ops::QuantizeDownAndShrinkRange
#include <math_ops.h>Преобразуйте квантованный «входной» тензор в «выходной» тензор с более низкой точностью, используя следующий подход.
Краткое содержание
Фактическое распределение значений для максимального использования меньшей битовой глубины и соответствующая корректировка диапазонов минимального и максимального значений выходных данных.
[input_min, input_max] — это скалярные числа с плавающей запятой, определяющие диапазон интерпретации входных данных. Например, если 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, который предлагается входными минимальными и максимальными значениями.
На практике это наиболее полезно для получения выходных данных от таких операций, как QuantizedMatMul , которые могут выдавать значения с большей битовой глубиной, чем их входные данные, и могут иметь большой потенциальный диапазон выходных значений, но на практике имеют распределение входных значений, использующее лишь небольшую часть возможного диапазона. Подавая эти выходные данные на этот оператор, мы можем уменьшить их с 32 бит до 8 с минимальной потерей точности.
Аргументы:
- scope: Объект Scope
- input_min: Число с плавающей запятой, которое представляет собой минимальное квантованное значение входного сигнала.
- input_max: Число с плавающей запятой, которое представляет максимальное квантованное значение входного сигнала.
- out_type: Тип выходных данных. Должна иметь меньшую разрядность, чем Tinput.
Возвращает:
-
Outputвыход -
Output: Число с плавающей запятой, которое соответствует минимальному квантованному значению выходного сигнала. -
Output: Число с плавающей запятой, которое соответствует максимальному квантованному значению выходного сигнала.
Конструкторы и Деструкторы | |
|---|---|
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
выход
::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 )