tensorflow::ops::QuantizeDownAndShrinkRange
#include <math_ops.h>
Преобразовать квантованный тензор «input» в тензор «output» с меньшей точностью, используя.
Краткое описание
фактическое распределение значений для максимального использования меньшей разрядности и соответствующей корректировки диапазонов min и max выходных данных.
[input_min, input_max] — скалярные числа с плавающей точкой, определяющие диапазон для интерпретации данных «input» как чисел с плавающей точкой. Например, если input_min — -1,0 и input_max — 1,0, а мы работаем с квантованными данными типа quint16, то значение 0 в 16-битных данных должно интерпретироваться как -1,0, а значение 65535 — как 1,0.
Этот оператор пытается максимально использовать точность в выходе с меньшей разрядностью, вычисляя фактические минимальное и максимальное значения, найденные в данных. Например, может быть, в квантованных входных данных типа quint16 нет значений меньше 16 384 и больше 49 152. Это означает, что нужен только половина диапазона, все интерпретации чисел с плавающей точкой находятся между -0,5 и 0,5, поэтому если мы хотим сжать данные до выходного типа quint8, мы можем использовать этот диапазон вместо теоретического от -1,0 до 1,0, который предполагается минимальным и максимальным значениями входа.
На практике это наиболее полезно для получения выходных данных от операций, таких как 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
выход
::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 )
© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/api_docs/cc/class/tensorflow/ops/quantize-down-and-shrink-range