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 )