Dequantize

clase final pública Descuantificar

Descuantifique el tensor de 'entrada' en un tensor flotante o bfloat16.

[min_range, max_range] son ​​flotantes escalares que especifican el rango de la salida. El atributo 'modo' controla exactamente qué cálculos se utilizan para convertir los valores flotantes a sus equivalentes cuantificados.

En el modo 'MIN_COMBINED', cada valor del tensor pasará por lo siguiente:

if T == qint8: in[i] += (range(T) + 1)/ 2.0
 out[i] = min_range + (in[i]* (max_range - min_range) / range(T))
 
aquí `rango(T) = límites_numéricos ::max() - límites_numéricos ::min()`

Ejemplo de modo MIN_COMBINED

Si la entrada proviene de QuantizedRelu6, el tipo de salida es quint8 (rango de 0-255) pero el rango posible de QuantizedRelu6 es 0-6. Los valores min_range y max_range son, por tanto, 0,0 y 6,0. Descuantificar en quint8 tomará cada valor, lo convertirá a flotante y lo multiplicará por 6/255. Tenga en cuenta que si el tipo cuantificado es qint8, la operación agregará adicionalmente cada valor en 128 antes de realizar la conversión.

Si el modo es 'MIN_FIRST', entonces se utiliza este enfoque:

num_discrete_values = 1 << (# of bits in T)
 range_adjust = num_discrete_values / (num_discrete_values - 1)
 range = (range_max - range_min) * range_adjust
 range_scale = range / num_discrete_values
 const double offset_input = static_cast<double>(input) - lowest_quantized;
 result = range_min + ((input - numeric_limits<T>::min()) * range_scale)
 
Si el modo es "ESCALADO", la descuantización se realiza multiplicando cada valor de entrada por un factor de escala. (Por lo tanto, una entrada de 0 siempre se asigna a 0,0).

El factor de escala se determina a partir de `min_range`, `max_range` y `narrow_range` de una manera que sea compatible con `QuantizeAndDequantize{V2|V3}` y `QuantizeV2`, utilizando el siguiente algoritmo:

const int min_expected_T = std::numeric_limits<T>::min() +
     (narrow_range ? 1 : 0);
   const int max_expected_T = std::numeric_limits<T>::max();
   const float max_expected_T = std::numeric_limits<float>::max();
 
   const float scale_factor =
     (std::numeric_limits<T>::min() == 0) ? (max_range / max_expected_T)
                                          : std::max(min_range / min_expected_T,
                                                     max_range / max_expected_T);
 

Clases anidadas

clase Descuantificar.Opciones Atributos opcionales para Dequantize

Constantes

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

Métodos públicos

Salida <U>
como salida ()
Devuelve el identificador simbólico del tensor.
Opciones estáticas de descuantificación
eje (eje largo)
estático <U extiende TNumber > Descuantificar <U>
crear ( alcance alcance , Operando <? extiende TType > entrada, Operando < TFloat32 > minRange, Operando < TFloat32 > maxRange, Clase <U> dtype, Opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación de descuantificación.
Descuantificación estática <TFloat32>
crear (alcance alcance , operando <? extiende TType > entrada, operando <TFloat32> minRange, operando <TFloat32> maxRange, opciones... opciones)
Método de fábrica para crear una clase que envuelve una nueva operación de descuantificación utilizando tipos de salida predeterminados.
Opciones estáticas de descuantificación
modo (modo cadena)
Opciones estáticas de descuantificación
rango estrecho (rango estrecho booleano)
Salida <U>

Métodos heredados

org.tensorflow.op.RawOp
booleano final
es igual (Objeto obj)
entero final
Operación
operación ()
Devuelve esta unidad de cálculo como una única Operation .
cadena final
booleano
es igual (Objeto arg0)
Clase final<?>
obtenerclase ()
entero
código hash ()
vacío final
notificar ()
vacío final
notificar a todos ()
Cadena
a cadena ()
vacío final
esperar (arg0 largo, int arg1)
vacío final
espera (arg0 largo)
vacío final
esperar ()
org.tensorflow.op.Op
entorno de ejecución abstracto
entorno ()
Devuelve el entorno de ejecución en el que se creó esta operación.
operación abstracta
operación ()
Devuelve esta unidad de cálculo como una única Operation .
org.tensorflow.Operand
Salida abstracta <U extiende TNumber >
como salida ()
Devuelve el identificador simbólico del tensor.
resumen U extiende TNumber
como Tensor ()
Devuelve el tensor en este operando.
forma abstracta
forma ()
Devuelve la forma (posiblemente parcialmente conocida) del tensor al que hace referencia la Output de este operando.
Clase abstracta<U extiende TNumber >
tipo ()
Devuelve el tipo de tensor de este operando.
org.tensorflow.ndarray.Shaped
resumen entero
rango ()
forma abstracta
forma ()
resumen largo
tamaño ()
Calcula y devuelve el tamaño total de este contenedor, en número de valores.

Constantes

Cadena final estática pública OP_NAME

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

Valor constante: "Descuantificar"

Métodos públicos

Salida pública <U> como Salida ()

Devuelve el identificador simbólico del tensor.

Las entradas a las operaciones de TensorFlow son salidas de otra operación de TensorFlow. Este método se utiliza para obtener un identificador simbólico que representa el cálculo de la entrada.

eje público estático Dequantize.Options (eje largo)

public static Descuantificar <U> crear ( Alcance alcance, Operando <? extiende TType > entrada, Operando < TFloat32 > minRange, Operando < TFloat32 > maxRange, Clase <U> dtype, Opciones... opciones)

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

Parámetros
alcance alcance actual
rango mínimo El valor escalar mínimo posiblemente producido para la entrada.
rango máximo El valor escalar máximo posiblemente producido para la entrada.
tipo d Tipo de tensor de salida. Actualmente, Dequantize admite float y bfloat16. Si 'dtype' es 'bfloat16', solo admite el modo 'MIN_COMBINED'.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de Descuantificar

public static Dequantize < TFloat32 > create ( Alcance alcance, Operando <? extiende TType > entrada, Operando < TFloat32 > minRange, Operando < TFloat32 > maxRange, Opciones... opciones)

Método de fábrica para crear una clase que envuelve una nueva operación de descuantificación utilizando tipos de salida predeterminados.

Parámetros
alcance alcance actual
rango mínimo El valor escalar mínimo posiblemente producido para la entrada.
rango máximo El valor escalar máximo posiblemente producido para la entrada.
opciones lleva valores de atributos opcionales
Devoluciones
  • una nueva instancia de Descuantificar

modo público estático Dequantize.Options (modo cadena)

Dequantize.Options estático público de rango estrecho (rango estrecho booleano)

Salida pública <U> salida ()