Tableau multidimensionnel typé utilisé dans TensorFlow Lite.
Le handle natif d'un Tensor
est géré par NativeInterpreterWrapper
et n'a pas besoin d'être fermé par le client. Toutefois, une fois le NativeInterpreterWrapper
fermé, le handle du Tensor ne sera plus valide.
Classes imbriquées
classe | Tensor.QuantizationParams | Paramètres de quantification correspondant à la table QuantizationParameters dans le fichier de schéma du modèle TFLite . |
Méthodes publiques
abstrait ByteBuffer |
asReadOnlyBuffer()
Renvoie une vue
ByteBuffer en lecture seule des données de Tensor. |
abstrait DataType | |
abstrait entier |
numBytes()
Renvoie la taille, en octets, des données de Tensor.
|
abstrait entier |
numDimensions()
Renvoie le nombre de dimensions du Tensor (parfois appelé rang).
|
abstrait entier |
numElements()
Renvoie le nombre d'éléments dans une vue aplatie (1-D) du Tensor.
|
extrait Tensor.QuantizationParams |
quantizationParams()
Renvoie les paramètres de quantification du Tensor dans l'interpréteur propriétaire.
|
abstrait int[] | |
abstrait int[] |
shapeSignature().
Renvoie la forme d'origine du Tensor, c'est-à-dire les tailles de chaque dimension, avant tout redimensionnement.
|
Méthodes publiques
public abstrait ByteBuffer asReadOnlyBuffer ()
Renvoie une vue ByteBuffer
en lecture seule des données de Tensor.
En général, cette méthode est particulièrement utile pour obtenir une vue en lecture seule des données de Tensor de sortie, *après* l'exécution de l'inférence (par exemple, via InterpreterApi.run(Object, Object)
). En particulier, certains graphiques ont des sorties mises en forme de manière dynamique, ce qui peut compliquer l'envoi d'un tampon de sortie prédéfini à l'interpréteur. Exemple d'utilisation :
interpreter.run(input, null);
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
// Copy or read from outputBuffer.
AVERTISSEMENT: Si le Tensor n'a pas encore été alloué, par exemple avant l'exécution de l'inférence, le résultat n'est pas défini. Notez que le pointeur de Tensor sous-jacent peut également changer lorsque le Tensor est invalidé de quelque façon que ce soit (par exemple, si l'inférence est exécutée ou si le graphe est redimensionné). Il n'est donc *pas* sûr de conserver une référence au tampon renvoyé au-delà d'une utilisation immédiate juste après l'inférence. Exemple d'utilisation *mauvaise* :
ByteBuffer outputBuffer = interpreter.getOutputTensor(0).asReadOnlyBuffer();
interpreter.run(input, null);
// Copy or read from outputBuffer (which may now be invalid).
Génère
IllegalArgumentException | si les données de Tensor n'ont pas été allouées. |
---|
public abstrait DataType dataType ()
Renvoie la valeur DataType
des éléments stockés dans le Tensor.
public abstract int numBytes ()
Renvoie la taille, en octets, des données de Tensor.
public abstrait int numDimensions ()
Renvoie le nombre de dimensions du Tensor (parfois appelé rang).
Les valeurs sont 0 pour un scalaire, 1 pour un vecteur, 2 pour une matrice, 3 pour un Tensor tridimensionnel, etc.
public abstract int numElements ()
Renvoie le nombre d'éléments dans une vue aplatie (1-D) du Tensor.
public abstrait Tensor.QuantizationParams quantizationParams ()
Renvoie les paramètres de quantification du Tensor dans l'interpréteur propriétaire.
Seuls les Tensors quantifiés ont une valeur QuantizationParameters
valide. Pour les Tensors qui ne sont pas quantifiés, les valeurs d'échelle et de point_zéro sont toutes deux 0.
public abstract int[] shape ()
Renvoie la forme du Tensor, c'est-à-dire les tailles de chaque dimension.
Renvoie
- un tableau où le i-ième élément est la taille de la i-ième dimension du Tensor.
public abstract int[] shapeSignature ()
Renvoie la forme d'origine du Tensor, c'est-à-dire les tailles de chaque dimension, avant tout redimensionnement. Les dimensions inconnues sont désignées par la valeur -1.
Renvoie
- un tableau où le i-ième élément est la taille de la i-ième dimension du Tensor.