tensorflow:: ops:: QuantizeDownAndShrinkRange

#include <math_ops.h>

Convierta el tensor de 'entrada' cuantificado en una 'salida' de menor precisión, utilizando el.

Resumen

distribución real de los valores para maximizar el uso de la menor profundidad de bits y ajustar los rangos mínimo y máximo de salida en consecuencia.

[input_min, input_max] son ​​valores flotantes escalares que especifican el rango para la interpretación de punto flotante de los datos de 'entrada'. Por ejemplo, si input_min es -1.0f e input_max es 1.0f, y estamos trabajando con datos cuantificados quint16, entonces un valor 0 en los datos de 16 bits debe interpretarse como -1.0f, y un 65535 significa 1.0f.

Este operador intenta obtener la mayor precisión posible en una salida con menor profundidad de bits calculando los valores mínimo y máximo reales de los datos. Por ejemplo, supongamos que la entrada quint16 no tiene valores inferiores a 16 384 ni superiores a 49 152. Esto significa que solo se necesita la mitad del rango, ya que todas las interpretaciones de punto flotante se encuentran entre -0,5f y 0,5f. Por lo tanto, si queremos comprimir los datos en una salida quint8, podemos usar ese rango en lugar del rango teórico de -1,0f a 1,0f sugerido por los valores mínimo y máximo de la entrada.

En la práctica, esto resulta muy útil para procesar la salida de operaciones como QuantizedMatMul , que pueden generar salidas con mayor profundidad de bits que sus entradas y tener amplios rangos de salida potenciales, pero que en la práctica utilizan una distribución de valores de entrada que solo abarca una pequeña fracción del rango posible. Al introducir esa salida en este operador, podemos reducirla de 32 bits a 8 con una mínima pérdida de precisión.

Argumentos:

  • ámbito: Un objeto de ámbito
  • input_min: El valor flotante que representa el valor mínimo de entrada cuantificado.
  • input_max: El valor flotante que representa el valor máximo de entrada cuantificado.
  • out_type: El tipo de salida. Debe tener una profundidad de bits menor que Tinput.

Devoluciones:

  • Output salida
  • Output output_min: El valor flotante que representa el valor mínimo de salida cuantificado.
  • Output output_max: El valor flotante que representa el valor máximo de salida cuantificada.

Constructores y destructores

QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type)

Atributos públicos

operation
output
output_max
output_min

Atributos públicos

operación

Operation operation

producción

::tensorflow::Output output

salida_máx

::tensorflow::Output output_max

salida_min

::tensorflow::Output output_min

Funciones públicas

CuantizarReducirYReducirRango

 QuantizeDownAndShrinkRange(
  const ::tensorflow::Scope & scope,
  ::tensorflow::Input input,
  ::tensorflow::Input input_min,
  ::tensorflow::Input input_max,
  DataType out_type
)