tensorflow :: operaciones :: Descuantizar

#include <array_ops.h>

Descuantizar el tensor de 'entrada' en un tensor flotante.

Resumen

[rango_mín, rango_máx] son ​​flotantes escalares que especifican el rango para 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í range(T) = numeric_limits ::max() - numeric_limits ::min() range(T) = numeric_limits ::max() - numeric_limits ::min() range(T) = numeric_limits ::max() - numeric_limits ::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. Por lo tanto, los valores min_range y max_range son 0.0 y 6.0. Dequantize en quint8 tomará cada valor, se convertirá en flotante y se multiplicará por 6 / 255. Tenga en cuenta que si el tipo cuantizado es qint8, la operación agregará adicionalmente cada valor por 128 antes de la conversión.

Si el modo es 'MIN_FIRST', 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

Si el modo es SCALED , la descuantificació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 manera que sea compatible con QuantizeAndDequantize{V2|V3} y QuantizeV2 , utilizando el siguiente algoritmo:

  


 


   

 Argumentos:

  • alcance: un objeto de alcance
  • min_range: El valor escalar mínimo que posiblemente se produzca para la entrada.
  • max_range: el valor escalar máximo que posiblemente se produzca para la entrada.

Devoluciones:

  • Output : el tensor de salida.

 Constructores y Destructores

Dequantize (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input min_range, :: tensorflow::Input max_range)
 Dequantize (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input min_range, :: tensorflow::Input max_range, const Dequantize::Attrs & attrs)
 

Atributos públicos

operation
output

 Funciones publicas

node () const
::tensorflow::Node *
operator::tensorflow::Input () const
operator::tensorflow::Output () const

 Funciones estáticas públicas

Axis (int64 x)
Mode (StringPiece x)
NarrowRange (bool x)

Atributos públicos

 operación

 producción

Funciones publicas

 Descuantizar

 Descuantizar

 nodo

 

operador :: tensorflow :: Entrada

 

operador :: tensorflow :: Salida

 Funciones estáticas públicas

 Eje

 Modo

 Rango estrecho