Aide à protéger la Grande barrière de corail avec tensorflow sur Kaggle Rejoignez Défi

tensorflow :: opérations :: QuantizeDownAndShrinkRange

#include <math_ops.h>

Convertissez le tenseur quantifié «d'entrée» en une «sortie» de moindre précision, à l'aide de.

Résumé

distribution réelle des valeurs pour maximiser l'utilisation de la profondeur de bits inférieure et ajuster les plages min et max de sortie en conséquence.

[input_min, input_max] sont des flottants scalaires qui spécifient la plage pour l'interprétation flottante des données «d'entrée». Par exemple, si input_min est -1.0f et input_max est 1.0f, et que nous avons affaire à des données quantifiées quint16, alors une valeur 0 dans les données 16 bits doit être interprétée comme -1.0f, et un 65535 signifie 1.0f.

Cet opérateur essaie de presser autant de précision que possible dans une sortie avec une profondeur de bits inférieure en calculant les valeurs minimales et maximales réelles trouvées dans les données. Par exemple, peut-être que l'entrée quint16 n'a aucune valeur inférieure à 16 384 et aucune supérieure à 49 152. Cela signifie que seule la moitié de la plage est réellement nécessaire, toutes les interprétations des flottants sont comprises entre -0,5f et 0,5f, donc si nous voulons compresser les données dans une sortie quint8, nous pouvons utiliser cette plage plutôt que les -1,0f théoriques à 1,0 f qui est suggérée par les entrées min et max.

En pratique, cela est très utile pour extraire la sortie d'opérations telles que QuantizedMatMul qui peuvent produire des sorties de plus grande profondeur de bits que leurs entrées et peuvent avoir de grandes plages de sortie potentielles, mais en pratique ont une distribution des valeurs d'entrée qui n'utilise qu'une petite fraction de la gamme possible. En alimentant cette sortie dans cet opérateur, nous pouvons la réduire de 32 bits à 8 avec une perte de précision minimale.

Arguments:

  • scope: un objet Scope
  • input_min: valeur flottante représentée par la valeur d'entrée quantifiée minimale.
  • input_max: valeur flottante représentée par la valeur d'entrée quantifiée maximale.
  • out_type: le type de la sortie. Doit être une profondeur de bits inférieure à Tinput.

Retour:

  • Output sortie
  • Output output_min: valeur flottante représentée par la valeur de sortie quantifiée minimale.
  • Output output_max: valeur flottante représentée par 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

production

::tensorflow::Output output

output_max

::tensorflow::Output output_max

output_min

::tensorflow::Output output_min

Fonctions publiques

QuantizeDownAndShrinkRange

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