QuantizeDownAndShrinkRange

QuantizeDownAndShrinkRange public final class

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

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 más baja 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 de la 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.

Constantes

Cuerda OP_NAME El nombre de esta operación, como lo conoce el motor central de TensorFlow

Métodos públicos

estática <U se extiende Ttype > QuantizeDownAndShrinkRange <U>
crear ( Alcance alcance, operando <? extiende Ttype > entrada, operando < TFloat32 > inputMin, operando < TFloat32 > inputMax, Clase <U> outType)
Método de fábrica para crear una clase que envuelva una nueva operación QuantizeDownAndShrinkRange.
Salida <U>
salida ()
Salida < TFloat32 >
outputMax ()
El valor flotante que representa el valor de salida cuantificado máximo.
Salida < TFloat32 >
outputMin ()
El valor flotante que representa el valor mínimo de salida cuantificado.

Métodos heredados

Constantes

OP_NAME pública final static String

El nombre de esta operación, como lo conoce el motor central de TensorFlow

Valor constante: "QuantizeDownAndShrinkRange"

Métodos públicos

public static QuantizeDownAndShrinkRange <U> crear ( Alcance alcance, operando <? extiende Ttype > entrada, operando < TFloat32 > inputMin, operando < TFloat32 > inputMax, Clase <U> outType)

Método de fábrica para crear una clase que envuelva una nueva operación QuantizeDownAndShrinkRange.

Parámetros
alcance alcance actual
inputMin El valor flotante que representa el valor mínimo de entrada cuantificado.
inputMax El valor flotante que representa el valor de entrada cuantificado máximo.
outType El tipo de salida. Debe tener una profundidad de bits menor que Tinput.
Devoluciones
  • una nueva instancia de QuantizeDownAndShrinkRange

pública de salida <U> salida ()

pública de salida < TFloat32 > outputMax ()

El valor flotante que representa el valor de salida cuantificado máximo.

pública de salida < TFloat32 > outputMin ()

El valor flotante que representa el valor mínimo de salida cuantificado.