UniformQuantizedConvolution

classe finale publique UniformQuantizedConvolution

Effectuez une convolution quantifiée du Tensor quantifié « lhs » et du Tenseur quantifié « rhs ». pour créer une « sortie » quantifiée.

Étant donné « lhs » quantifié et « rhs » quantifiés, effectue un point quantifié sur « lhs » et « rhs » pour créer une « sortie » quantifiée.

`lhs` et `rhs` doivent être des tenseurs du même rang et répondre aux conditions de forme suivantes. - `lhs_featuture`%` feature_group_count` == 0 - `lhs_feature`%` rhs_input_feature` == 0 - `lhs_feature` /` feature_group_count atch` % `batch_group_count` == 0 - `rhs_output_feature` % `batch_group_count` == 0

`lhs` et `rhs` doivent être quantifiés Tensor, où la valeur des données est quantifiée à l'aide de la formule :

quantized_data = clip(original_data / scale + zero_point, quantization_min_val, quantization_max_val)
 
`output` est également quantifiée, en utilisant la même formule. Si `rhs` est quantifié par tenseur, `output` doit également être quantifié par tenseur.

Classes imbriquées

classe UniformQuantizedConvolution.Options Attributs facultatifs pour UniformQuantizedConvolution

Méthodes publiques

Sortie <U>
comme Sortie ()
Renvoie le handle symbolique d'un tenseur.
statique UniformQuantizedConvolution.Options
batchGroupCount (Long batchGroupCount)
statique <U, T> UniformQuantizedConvolution <U>
créer ( Scope scope, Opérande <T> lhs, Opérande <T> rhs, Opérande <Float> lhsScales, Opérande <Integer> lhsZeroPoints, Opérande <Float> rhsScales, Opérande <Integer> rhsZeroPoints, Opérande <Float> outputScales, Opérande <Integer > outputZeroPoints, Class<U> Tout, String padding, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... options)
Méthode d'usine pour créer une classe encapsulant une nouvelle opération UniformQuantizedConvolution.
statique UniformQuantizedConvolution.Options
dimensionNumbers (chaîne dimensionNumbers)
statique UniformQuantizedConvolution.Options
explicitPadding (List<Long> explicitPadding)
statique UniformQuantizedConvolution.Options
featureGroupCount (Long featureGroupCount)
statique UniformQuantizedConvolution.Options
lhsDilation (Liste<Long> lhsDilation)
statique UniformQuantizedConvolution.Options
lhsQuantizationAxis (Long lhsQuantizationAxis)
Sortie <U>
sortir ()
Le tenseur quantifié de sortie de `Tout`, même rang que `lhs` et `rhs`.
statique UniformQuantizedConvolution.Options
outputQuantizationAxis (sortieQuantizationAxis longue)
statique UniformQuantizedConvolution.Options
rhsDilation (Liste<Long> rhsDilation)
statique UniformQuantizedConvolution.Options
rhsQuantizationAxis (rhsQuantizationAxis long)
statique UniformQuantizedConvolution.Options
windowStrides (Liste<Long> windowStrides)

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 statique UniformQuantizedConvolution.Options batchGroupCount (Long batchGroupCount)

Paramètres
batchGroupCount Le nombre de groupes de lots. Utilisé pour les filtres groupés. Doit être un diviseur de `output_feature`.

public static UniformQuantizedConvolution <U> créer ( Scope scope, Operand <T> lhs, Operand <T> rhs, Operand <Float> lhsScales, Operand <Integer> lhsZeroPoints, Operand <Float> rhsScales, Operand <Integer> rhsZeroPoints, Operand <Float > outputScales, Opérande <Integer> outputZeroPoints, Class<U> Tout, Remplissage de chaîne, Long lhsQuantizationMinVal, Long lhsQuantizationMaxVal, Long rhsQuantizationMinVal, Long rhsQuantizationMaxVal, Long outputQuantizationMinVal, Long outputQuantizationMaxVal, Options... options)

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

Paramètres
portée portée actuelle
lhs Doit être un tenseur quantifié, de rang >= 3.
rhs Doit être un tenseur quantifié, du même rang que « lhs ».
lhsÉchelles La ou les valeurs flottantes utilisées comme facteurs d'échelle lors de la quantification des données d'origine représentées par « lhs ». Doit être un « Tensor » scalaire (« lhs » ne prend en charge que la quantification par tenseur).
lhsZéroPoints La ou les valeurs int32 utilisées comme points zéro lors de la quantification des données originales représentées par « lhs ». Même condition de forme que `lhs_scales`.
échelles rhs La ou les valeurs flottantes utilisées comme facteurs d'échelle lors de la quantification des données d'origine représentées par « rhs ». Doit être un « Tensor » scalaire pour la quantification par tenseur, ou un « Tensor » 1D de taille « rhs.dim_size(kernel_output_feature_dimension) », pour la quantification par canal.
rhsZéroPoints La ou les valeurs int32 utilisées comme points zéro lors de la quantification des données originales représentées par « rhs ». Même condition de forme que `rhs_scales`.
échelles de sortie La ou les valeurs flottantes à utiliser comme facteurs d'échelle lors de la quantification des données originales représentées par « sortie ». Doit être un « Tensor » scalaire pour la quantification par tenseur, ou un « Tensor » 1D de taille « rhs.dim_size(kernel_output_feature_dimension) » - qui est égal à « output.dim_size(output_feature_dimension) », pour la quantification par canal. Si `rhs` est quantifié par tenseur, la sortie doit également être quantifiée par tenseur. Cela signifie que si `rhs_scales` et `rhs_zero_points` sont des `Tensor` scalaires, `output_scales` et `output_zero_points` doivent également être des `Tensor` scalaires.
sortieZéroPoints La ou les valeurs int32 utilisées comme points zéro lors de la quantification des données originales représentées par la sortie. Même condition de forme que `output_scales`.
Tout Le type de « sortie » « Tenseur ».
rembourrage chaîne de : `"SAME"`, `"VALID"` ou `"EXPLICIT"`, indiquant le type d'algorithme de remplissage à utiliser.
lhsQuantizationMinVal La valeur minimale des données quantifiées stockées dans `lhs`. Par exemple, si « Tin » est « qint8 », cela doit être réglé sur -127 si la plage étroite est quantifiée ou sur -128 sinon.
lhsQuantizationMaxVal La valeur maximale des données quantifiées stockées dans `lhs`. Par exemple, si « Tin » est « qint8 », cela doit être défini sur 127.
rhsQuantizationMinVal La valeur minimale des données quantifiées stockées dans « rhs ». Par exemple, si « Tin » est « qint8 », cela doit être réglé sur -127 si la plage étroite est quantifiée ou sur -128 sinon.
rhsQuantizationMaxVal La valeur maximale des données quantifiées stockées dans `rhs`. Par exemple, si « Tin » est « qint8 », cela doit être défini sur 127.
sortieQuantizationMinVal La valeur minimale des données quantifiées stockées dans « sortie ». Par exemple, si « Tout » est « qint8 », cela doit être réglé sur -127 si la plage étroite est quantifiée ou sur -128 sinon.
sortieQuantizationMaxVal La valeur maximale des données quantifiées stockées dans « sortie ». Par exemple, si « Tout » est « qint8 », cela doit être défini sur 127.
choix porte des valeurs d'attributs facultatifs
Retour
  • une nouvelle instance de UniformQuantizedConvolution

public static UniformQuantizedConvolution.Options dimensionNumbers (String dimensionNumbers)

Paramètres
DimensionsNuméros Structure des informations de dimension pour l'opération de convolution. Doit être une chaîne vide (par défaut) ou une chaîne sérialisée du proto `tensorflow.UniformQuantizedConvolutionDimensionNumbersAttr`. Si chaîne vide, la valeur par défaut est `("NCHW", "OIHW", "NCHW")` (pour une convolution 2D).

public static UniformQuantizedConvolution.Options explicitPadding (List<Long> explicitPadding)

Paramètres
remplissage explicite Si `padding` est `"EXPLICIT"`, doit être défini sous forme de liste indiquant les remplissages explicites au début et à la fin de chaque dimension spatiale `lhs`. Sinon, celui-ci doit être vide.

(Si utilisé,) Doit être une liste de taille `2 * (nombre de dimensions spatiales gauche)`, où `(explicit_padding[2 * i], explicit_padding[2 * i + 1])` indique `(start_padding, end_padding) ` de `spatial_dimensions[i]`.

public statique UniformQuantizedConvolution.Options featureGroupCount (Long featureGroupCount)

Paramètres
featureGroupCount Le nombre de groupes de fonctionnalités. Utilisé pour les circonvolutions groupées. Doit être un diviseur à la fois de « lhs_feature » ​​et de « output_feature ».

public static UniformQuantizedConvolution.Options lhsDilation (List<Long> lhsDilation)

Paramètres
lhsDilatation Le facteur de dilatation à appliquer dans chaque dimension spatiale de « lhs ». Doit être une liste vide (par défaut) ou une liste de taille (nombre de dimensions spatiales `lhs`). Si liste vide, la dilatation pour chaque dimension spatiale `lhs` est fixée à 1.

public statique UniformQuantizedConvolution.Options lhsQuantizationAxis (Long lhsQuantizationAxis)

Paramètres
lhsQuantizationAxis 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. Pour le « lhs », seule la quantification par tenseur est prise en charge. Il doit donc être réglé sur -1. D'autres valeurs généreront une erreur lors de la construction d'OpKernel.

Sortie publique Sortie <U> ()

Le tenseur quantifié de sortie de `Tout`, même rang que `lhs` et `rhs`.

public statique UniformQuantizedConvolution.Options outputQuantizationAxis (Long outputQuantizationAxis)

Paramètres
sortieQuantizationAxis 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. Pour la « sortie », seule la quantification par tenseur ou par canal le long de « output_feature_dimension » est prise en charge. Ainsi, cela doit être défini sur -1 ou `dimension_numbers.output_feature_dimension`. D'autres valeurs généreront une erreur lors de la construction d'OpKernel.

public static UniformQuantizedConvolution.Options rhsDilation (List<Long> rhsDilation)

Paramètres
rhsDilatation Le facteur de dilatation à appliquer dans chaque dimension spatiale de « rhs ». Doit être une liste vide (par défaut) ou une liste de taille (nombre de dimensions spatiales « rhs ). Si liste vide, la dilatation pour chaque dimension spatiale `rhs` est fixée à 1.

public statique UniformQuantizedConvolution.Options rhsQuantizationAxis (Long rhsQuantizationAxis)

Paramètres
rhsQuantizationAxis 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. Pour le `rhs`, seule la quantification par tenseur ou par canal le long de `kernel_output_feature_dimension` est prise en charge. Ainsi, cela doit être défini sur -1 ou `dimension_numbers.kernel_output_feature_dimension`. D'autres valeurs généreront une erreur lors de la construction d'OpKernel.

public static UniformQuantizedConvolution.Options windowStrides (List<Long> windowStrides)

Paramètres
fenêtreStrides La foulée de la fenêtre glissante pour chaque dimension spatiale de « lhs ». Doit être une liste vide (par défaut) ou une liste de taille (nombre de dimensions spatiales). Si une liste vide est fournie, la foulée pour chaque dimension spatiale est définie sur 1.