тензорный поток:: опс:: КвантизацияDownAndShrinkRange
#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,0. f, который предлагается входными данными min и max.
На практике это наиболее полезно для получения выходных данных от таких операций, как QuantizedMatMul , которые могут выдавать выходные данные с более высокой разрядностью, чем их входные данные, и могут иметь большие потенциальные выходные диапазоны, но на практике имеют распределение входных значений, которое использует лишь небольшую часть возможный диапазон. Подав этот вывод этому оператору, мы можем уменьшить его с 32 бит до 8 с минимальной потерей точности.
Аргументы:
- область: объект области.
- 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
выход_макс
::tensorflow::Output output_max
выходной_мин
::tensorflow::Output output_min
Общественные функции
КвантизацияDownAndShrinkRange
QuantizeDownAndShrinkRange( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type )