Spec-Zone.ru › TensorFlow C++ 2.3

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, предложенный минимальным и максимальным значениями входа.

На практике это наиболее полезно для получения выходных данных из операций, таких как QuantizedMatMul, которые могут генерировать выходные данные с большей разрядностью, чем их входные данные, и могут иметь большие потенциальные диапазоны выходных данных, но на практике распределение входных значений использует лишь небольшую часть возможного диапазона. Передавая эти выходные данные в этот оператор, мы можем уменьшить их разрядность с 32 до 8 с минимальной потерей точности.

Аргументы:

  • scope: Объект Scope
  • input_min: Значение с плавающей точкой, представляющее минимальное квантованное входное значение.
  • input_max: Значение с плавающей точкой, представляющее максимальное квантованное входное значение.
  • out_type: Тип выходных данных. Должен иметь меньшую разрядность, чем Tinput.

Возвращаемые значения:

  • Output выходные данные
  • Output output_min: Значение с плавающей точкой, представляющее минимальное квантованное выходное значение.
  • Output output_max: Значение с плавающей точкой, представляющее максимальное квантованное выходное значение.
Конструкторы и деструкторы
QuantizeDownAndShrinkRange(const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type)
Общественные атрибуты
operation
Operation
output
::tensorflow::Output
output_max
::tensorflow::Output
output_min
::tensorflow::Output

Общественные атрибуты

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/r2.3/api_docs/cc/class/tensorflow/ops/quantize-down-and-shrink-range

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API