flujo tensor:: operaciones:: CuantizarDownAndShrinkRange

#include <math_ops.h>

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

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 de 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 más baja calculando los valores mínimo y máximo reales que se encuentran en los datos. Por ejemplo, tal vez esa entrada de quint16 no tenga valores inferiores a 16,384 ni ninguno superior a 49,152. Eso significa que en realidad 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 obtener resultados de operaciones como QuantizedMatMul que pueden producir resultados con 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 utiliza una pequeña fracción de los valores de entrada. rango posible. Al introducir esa salida en este operador, podemos reducirla de 32 bits a 8 con una pérdida mínima 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. Debería tener una profundidad de bits menor que Tinput.

Devoluciones:

  • Salida Output
  • 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

salida_max

::tensorflow::Output output_max

salida_min

::tensorflow::Output output_min

Funciones públicas

CuantizarDownAndShrinkRange

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