UniformRequantize

classe finale publique UniformRequantize

Étant donné « l'entrée » du tenseur quantifié, requantifiez-le avec de nouveaux paramètres de quantification.

Étant donné le tenseur quantifié `input`, qui a été quantifié à l'aide de {input_scales, input_zero_points, input_quantization_axis, input_quantization_min_val, input_quantization_max_val}, requantifiez-le en un tenseur, qui est quantifié à l'aide de {output_scales, Output_zero_points, Output_quantization_axis, Output_quantization_min_val, Output_quantization_max_val}. La requantification se fait en utilisant la formule : output_quantized_data = clip( (input_quantized_data - input_zero_point) * (input_scale / output_scale) + output_zero_point, output_quantization_min_val, output_quantization_max_val)

Les cas pris en charge par la quantification par tenseur et par axe sont les suivants :

  • par tenseur -> par tenseur
  • par tenseur -> par axe
  • par axe -> par axe où input_quantization_axis est égal à output_quantization_axis. c'est-à-dire qu'au moins un parmi input_quantization_axis et output_quantization_axis doit être -1, ou deux doivent être égaux.

Classes imbriquées

classe UniformRequantize.Options Attributs facultatifs pour UniformRequantize

Méthodes publiques

Sortie <U>
comme Sortie ()
Renvoie le handle symbolique d'un tenseur.
statique <U, T> UniformRequantize <U>
créer ( Portée de portée , Opérande <T> entrée, Opérande <Float> inputScales, Opérande <Integer> inputZeroPoints, Opérande <Float> outputScales, Opérande <Integer> outputZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, Long inputQuantizationMaxVal, Long outputQuantizationMinVal, Sortie longueQuantizationMaxVal, Options... (options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération UniformRequantize.
statique UniformRequantize.Options
inputQuantizationAxis (Long inputQuantizationAxis)
Sortie <U>
sortir ()
Le Tenseur quantifié de sortie de Tout, dont la forme est la même que celle de l'entrée.
statique UniformRequantize.Options
outputQuantizationAxis (sortieQuantizationAxis longue)

Méthodes héritées

Méthodes publiques

sortie publique <U> asOutput ()

Renvoie le handle symbolique d'un tenseur.

Les entrées des opérations TensorFlow sont les sorties d'une autre opération TensorFlow. Cette méthode est utilisée pour obtenir un handle symbolique qui représente le calcul de l’entrée.

public static UniformRequantize <U> créer ( Scope scope, Operand <T> input, Operand <Float> inputScales, Operand <Integer> inputZeroPoints, Operand <Float> outputScales, Operand <Integer> outputZeroPoints, Class<U> Tout, Long inputQuantizationMinVal, (Options Long inputQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... )

Méthode d'usine pour créer une classe encapsulant une nouvelle opération UniformRequantize.

Paramètres
portée portée actuelle
saisir Ce doit être un tenseur d'étain.
échelles d'entrée La ou les valeurs flottantes utilisées comme échelle(s) lors de la quantification des données originales représentées par « entrée ». Doit être un Tensor scalaire si quantization_axis est -1 (quantification par tenseur), sinon Tensor 1D de taille (input.dim_size(quantization_axis),) (quantisation par axe).
entréeZéroPoints La ou les valeurs int32 utilisées comme point(s) zéro lors de la quantification des données originales représentées par « input ». Même état de forme que les écailles.
échelles de sortie La ou les valeurs flottantes à utiliser comme nouvelles échelles pour quantifier les données originales représentées par « entrée ». Doit être un Tensor scalaire si quantization_axis est -1 (quantification par tenseur), sinon Tensor 1D de taille (input.dim_size(quantization_axis),) (quantisation par axe).
sortieZéroPoints La ou les valeurs int32 à utiliser comme nouveau(x) point(s) zéro pour quantifier les données originales représentées par « input ». Même état de forme que les écailles.
Tout Le type de Tensor de sortie. Un tf.DType de : tf.qint8, tf.qint32
inputQuantizationMinVal La valeur minimale de quantification qui a été utilisée lors de la quantification des données originales représentées par « entrée ». Le but de cet attribut est généralement (mais sans s'y limiter) d'indiquer une plage étroite, où il est défini sur : "(Tin le plus bas) + 1" si la plage est étroite, et "(Tin le plus bas)" sinon. Par exemple, si Tin est qint8, il est réglé sur -127 si quantifié à plage étroite ou sur -128 sinon.
inputQuantizationMaxVal La valeur maximale de quantification qui a été utilisée lors de la quantification des données originales représentées par « entrée ». Le but de cet attribut est généralement (mais sans s'y limiter) d'indiquer une plage étroite, où il est défini sur : `(Tout max)` pour une plage étroite et une plage non étroite. Par exemple, si Tin est qint8, la valeur est 127.
sortieQuantizationMinVal La nouvelle valeur minimale de quantification pour quantifier les données originales représentées par « entrée ».
sortieQuantizationMaxVal La nouvelle valeur maximale de quantification pour quantifier les données originales représentées par « entrée ».
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de UniformRequantize

public statique UniformRequantize.Options inputQuantizationAxis (Long inputQuantizationAxis)

Paramètres
inputQuantizationAxis L'axe de quantification qui a été utilisé lors de la quantification des données originales représentées par « entrée ». Indique l'indice de dimension du tenseur où la quantification par axe est appliquée pour les tranches le long de cette dimension. S'il est défini sur -1 (par défaut), cela indique une quantification par tenseur. Sinon, il doit être défini dans la plage [0, input.dims()).

Sortie publique Sortie <U> ()

Le Tenseur quantifié de sortie de Tout, dont la forme est la même que celle de l'entrée.

public statique UniformRequantize.Options outputQuantizationAxis (Long outputQuantizationAxis)

Paramètres
sortieQuantizationAxis Le nouvel axe de quantification à utiliser pour quantifier les données originales représentées par « entrée ».