QuantizeDownAndShrinkRange

публичный финальный класс QuantizeDownAndShrinkRange

Преобразуйте квантованный «входной» тензор в «выход» с меньшей точностью, используя

фактическое распределение значений для максимального использования нижней разрядности и соответствующей настройки выходных минимального и максимального диапазонов.

[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 с минимальной потерей точности.

Константы

Нить OP_NAME Название этой операции, известное основному движку TensorFlow.

Публичные методы

static <U расширяет TType > QuantizeDownAndShrinkRange <U>
create ( Область действия , Операнд <? расширяет TType > input, Операнд < TFloat32 > inputMin, Операнд < TFloat32 > inputMax, Class<U> outType)
Фабричный метод для создания класса, обертывающего новую операцию QuantizeDownAndShrinkRange.
Выход <U>
Вывод <TFloat32>
выходМакс ()
Значение с плавающей запятой, которое представляет максимальное квантованное выходное значение.
Вывод <TFloat32>
выходМин ()
Значение с плавающей запятой, которое представляет минимальное квантованное выходное значение.

Унаследованные методы

Константы

общедоступная статическая финальная строка OP_NAME

Название этой операции, известное основному движку TensorFlow.

Постоянное значение: «QuantizeDownAndShrinkRange»

Публичные методы

public static QuantizeDownAndShrinkRange <U> create (область действия , операнд <? расширяет TType > input, операнд < TFloat32 > inputMin, операнд < TFloat32 > inputMax, Class<U> outType)

Фабричный метод для создания класса, обертывающего новую операцию QuantizeDownAndShrinkRange.

Параметры
объем текущий объем
вводмин. Значение с плавающей запятой, которое представляет минимальное квантованное входное значение.
входМакс Значение с плавающей запятой, которое представляет максимальное квантованное входное значение.
outType Тип вывода. Должна быть меньшая разрядность, чем у Tinput.
Возврат
  • новый экземпляр QuantizeDownAndShrinkRange

публичный вывод <U> вывод ()

публичный вывод <TFloat32> outputMax ()

Значение с плавающей запятой, которое представляет максимальное квантованное выходное значение.

публичный вывод <TFloat32> outputMin ()

Значение с плавающей запятой, которое представляет минимальное квантованное выходное значение.