tensorflow :: operaciones :: QuantizeDownAndShrinkRange

#include <math_ops.h>

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

Resumen

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

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

Este operador intenta exprimir la mayor precisión posible en una salida con una profundidad de bits menor calculando los valores mínimos y máximos reales que se encuentran en los datos. Por ejemplo, tal vez esa entrada de quint16 no tenga valores inferiores a 16,384 y ninguno superior a 49,152. Eso significa que solo se necesita la mitad del rango, todas las interpretaciones flotantes están entre -0.5f y 0.5f, por lo que si queremos comprimir los datos en una salida de quint8, podemos usar ese rango en lugar del teórico -1.0f a 1.0 f que es sugerido por la entrada min y max.

En la práctica, esto es más útil para tomar la salida de operaciones como QuantizedMatMul que pueden producir salidas de mayor profundidad de bits que sus entradas y pueden tener grandes rangos de salida potenciales, pero en la práctica tienen una distribución de valores de entrada que solo usa una pequeña fracción rango posible. Al alimentar esa salida a este operador, podemos reducirla de 32 bits a 8 con una mínima pérdida de precisión.

Argumentos:

  • alcance: un objeto de alcance
  • input_min: el valor flotante que representa el valor de entrada cuantificado mínimo.
  • input_max: el valor flotante que representa el valor de entrada cuantificado máximo.
  • 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 de salida cuantificado mínimo.
  • Output output_max: el valor flotante que representa el valor de salida cuantificado máximo.

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

output_max

::tensorflow::Output output_max

output_min

::tensorflow::Output output_min

Funciones publicas

QuantizeDownAndShrinkRange

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