Questa pagina è stata tradotta dall'API Cloud Translation.
Switch to English

tensorflow :: ops :: QuantizeDownAndShrinkRange

#include <math_ops.h>

Converti il ​​tensore "input" quantizzato in un "output" di precisione inferiore, utilizzando l'estensione.

Sommario

distribuzione effettiva dei valori per massimizzare l'utilizzo della profondità di bit inferiore e regolare di conseguenza gli intervalli minimo e massimo di uscita.

[input_min, input_max] sono float scalari che specificano l'intervallo per l'interpretazione float dei dati 'input'. Ad esempio, se input_min è -1.0f e input_max è 1.0f, e abbiamo a che fare con dati quantizzati quint16, un valore 0 nei dati a 16 bit dovrebbe essere interpretato come -1.0f e 65535 significa 1.0f.

Questo operatore cerca di ottenere la massima precisione possibile in un'uscita con una profondità di bit inferiore calcolando i valori minimi e massimi effettivi trovati nei dati. Ad esempio, forse quell'input quint16 non ha valori inferiori a 16.384 e nessuno superiore a 49.152. Ciò significa che è effettivamente necessaria solo metà dell'intervallo, tutte le interpretazioni a virgola mobile sono comprese tra -0.5f e 0.5f, quindi se vogliamo comprimere i dati in un output quint8, possiamo usare quell'intervallo piuttosto che il teorico -1.0f a 1.0 f che è suggerito dall'ingresso min e max.

In pratica, questo è più utile per prendere l'output da operazioni come QuantizedMatMul che possono produrre output con una profondità di bit maggiore rispetto ai loro input e possono avere ampi intervalli di output potenziali, ma in pratica hanno una distribuzione dei valori di input che utilizza solo una piccola frazione del gamma possibile. Inserendo tale output in questo operatore, possiamo ridurlo da 32 bit a 8 con una minima perdita di precisione.

Argomenti:

  • scope: un oggetto Scope
  • input_min: il valore float rappresentato dal valore di input quantizzato minimo.
  • input_max: il valore float rappresentato dal valore di input quantizzato massimo.
  • out_type: il tipo di output. Dovrebbe essere una profondità di bit inferiore a Tinput.

Ritorna:

  • Output uscita
  • Output output_min: il valore float rappresentato dal valore di output quantizzato minimo.
  • Output output_max: il valore float rappresentato dal valore di output quantizzato massimo.

Costruttori e distruttori

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

Attributi pubblici

operation
output
output_max
output_min

Attributi pubblici

operazione

Operation operation

produzione

::tensorflow::Output output

output_max

::tensorflow::Output output_max

output_min

::tensorflow::Output output_min

Funzioni pubbliche

QuantizeDownAndShrinkRange

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