tensorflow::ops::QuantizeDownAndShrinkRange
#include <math_ops.h>Convertissez le tenseur « entrée » quantifié en un tenseur « sortie » de précision inférieure, en utilisant le.
Résumé
distribution réelle des valeurs afin de maximiser l'utilisation de la profondeur de bits inférieure et d'ajuster en conséquence les plages minimales et maximales de sortie.
[input_min, input_max] sont des nombres flottants scalaires qui spécifient la plage de valeurs pour l'interprétation flottante des données d'entrée. Par exemple, si input_min vaut -1.0f et input_max vaut 1.0f, et que nous traitons des données quantifiées quint16, alors une valeur de 0 dans les données 16 bits doit être interprétée comme -1.0f, et 65535 comme 1.0f.
Cet opérateur cherche à optimiser la précision dans une sortie à faible profondeur de bits en calculant les valeurs minimales et maximales réelles des données. Par exemple, si une entrée de type quint16 ne contient aucune valeur inférieure à 16 384 ni supérieure à 49 152, seule la moitié de la plage est réellement nécessaire. Toutes les interprétations de nombres flottants se situent entre -0,5f et 0,5f. Ainsi, pour compresser les données en une sortie de type quint8, on peut utiliser cette plage plutôt que la plage théorique de -1,0f à 1,0f suggérée par les valeurs minimales et maximales de l'entrée.
En pratique, cette méthode est particulièrement utile pour traiter les résultats d'opérations telles que QuantizedMatMul , qui peuvent produire des sorties avec une profondeur de bits supérieure à celle de leurs entrées et présenter de vastes plages de valeurs potentielles, mais dont la distribution des valeurs d'entrée n'exploite en réalité qu'une petite fraction de cette plage. En injectant cette sortie dans cet opérateur, on peut la réduire de 32 bits à 8 bits avec une perte de précision minimale.
Arguments :
- portée : un objet Scope
- input_min : La valeur flottante que représente la valeur d'entrée quantifiée minimale.
- input_max : La valeur flottante que représente la valeur d'entrée quantifiée maximale.
- out_type : Le type de sortie. Doit avoir une profondeur de bits inférieure à celle de Tinput.
Retours :
-
Output -
Outputoutput_min : La valeur flottante que représente la valeur de sortie quantifiée minimale. -
Outputoutput_max : La valeur flottante que représente la valeur de sortie quantifiée maximale.
Constructeurs et destructeurs | |
|---|---|
QuantizeDownAndShrinkRange (const :: tensorflow::Scope & scope, :: tensorflow::Input input, :: tensorflow::Input input_min, :: tensorflow::Input input_max, DataType out_type) |
attributs publics | |
|---|---|
operation | |
output | |
output_max | |
output_min | |
attributs publics
opération
Operation operation
sortir
::tensorflow::Output output
sortie_max
::tensorflow::Output output_max
sortie_min
::tensorflow::Output output_min
fonctions publiques
QuantifierDownAndShrinkRange
QuantizeDownAndShrinkRange( const ::tensorflow::Scope & scope, ::tensorflow::Input input, ::tensorflow::Input input_min, ::tensorflow::Input input_max, DataType out_type )